web-dev-qa-db-ja.com

pom.xmlで目標を指定する

私は以下のようにpom.xmlで新しいMavenプロジェクトを作成しています:

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>firstRestlet</groupId>
  <artifactId>restlet1</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>restlet1</name>
  <url>http://maven.Apache.org</url>
  <repositories>
<repository>
   <id>maven-restlet</id>
   <name>Public online Restlet repository</name>
   <url>http://maven.restlet.org</url>
</repository> 
</repositories>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

私が直面している問題は、ターゲットのWARファイルが生成されていないということです。このpom.xmlを実行した後、Eclipseコンソールでpom.xmlで目標が見つからないことがわかりました。

Eclipseコンソールメッセージ:

No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR] 

pom.xmlで目標を指定する方法を教えてください。

また、mavenをビルドツールとして使用してRESTLETプロジェクトを作成する方法を教えてください。

ありがとうございます。それでは、お元気で、

48
Scientist

指定したエラーメッセージは何もありませんが、mavenビルドの目標を指定しているわけではありません。

クリア、コンパイル、インストール、パッケージなど、Mavenビルドの実行構成で任意の目標を指定できます。

以下の手順に従って解決してください。

  1. プロジェクトを右クリックします。
  2. 「実行」をクリックし、「Maven Build」を選択します
  3. 構成の編集ウィンドウが開きます。あなたの問題に特化した以外の目標を書いてください。目標テキストボックスに「パッケージ」と書いてください。
  4. 「実行」をクリックします
63
Narendra Rabari

Pom.xmlでデフォルトの目標を実際に定義したかったので、この質問にぶつかりました。ビルド時にデフォルトの目標を定義できます。

<build>
    <defaultGoal>install</defaultGoal>
...
</build>

その変更後、mvnを実行するだけで、mvn installとまったく同じことができます。

注:これをデフォルトのアプローチとしては好みません。私のユースケースは、Artifactoryからそのプロジェクトの以前のバージョンをダウンロードし、そのプロファイルを特定のフェーズに関連付けたいプロファイルを定義することでした。便宜上、mvn -Pdownload-jar -Dversion=0.0.9を実行でき、そこで目標/フェーズを指定する必要はありません。特定のフェーズに対して非常に具体的な機能を持つプロファイルでdefaultGoalを定義することは合理的だと思います。

17
joao cenoura

Mavenコマンドには常に引数を与える必要があります。通常、これはライフサイクルの1つです。例えば:

mvn package

パッケージは、瓶、戦争、耳などを作成します。

その他のフェーズとその意味については、以下を参照してください。 http://maven.Apache.org/guides/introduction/introduction-to-the-lifecycle.html

13
Wouter

1。プロジェクトを右クリックします。
2。「Run as」をクリックし、「Maven Build」を選択します
。構成の編集ウィンドウが開きます。あなたの問題に特化した以外の目標を書いてください
4ユーザー設定:たとえば、maven-> directory-> conf-> settings.xmlを表示します。 C:\ maven\conf\settings.xml

8
Vahap Gençdal

次のような目標を追加します-

 <build>
        <defaultGoal>install</defaultGoal>
        <!-- Source directory configuration -->
        <sourceDirectory>src</sourceDirectory>
</build>

これで問題が解決します

4
Sidharth Taneja
  1. ターミナルに行く
  2. mvn clean installを実行
3
timy kurian

私はこの例外に出くわして、Mainを追加するのを忘れたことを知りました。
public static void main(String[] args)が正しいかどうかを確認してください。

幸運を!

0
Shaked dounel

MAVEN_HOMEなどのグローバル設定でmavenのパスを設定する必要があります

/ user/share/maven

ワークベンチに「777」の読み取り、書き込み、削除の許可があることを確認します

0
Sarvjeets

eclipseを使用している場合Java 7を使用している場合、BUILT PATHの下のJRE LibraryがjreではなくJDK FOLDERを指していることを確認してから、setting.xmlを作成し、プロキシを設定する必要があります.m2フォルダーの下で要求を許可します。ただし、Java 8 jdkを使用した場合は、見つかるはずです。

0
silfrede

ビルドを実行した後、同じ問題に直面しています。

エラーメッセージは、目標を指定するように指示します

Jenkins Issue related to goal for build

したがって、目標Ex:-testを指定します。

今はうまく動いています

0
Sagar Tripathi