2012-01-18 6 views
1

私はEclipse内でMavenを扱う状況に陥り、展開するコードを含む多くの成果物で終わります。非常にうまく動作します。私たちのターゲットプラットフォームの実行可能なjarを構築するための汎用pom.xml:実行時にdependency groupId/artifactId/versionを指定する方法を教えてください。

一つは、非常に特定の場所にはっきりという名前の実行可能jarファイルを起動し、実験のビットの後、私はもっぱらに応じて新しいのpom.xmlを持つことによって、適切な実行可能なjarファイルを作成することができることを見出しましたEclipseプロジェクトから作成されたアーティファクトは、最初にコピー依存関係を呼び出してアーティファクトから依存関係を取得し、正しい場所に空のjarを作成しますが、メインクラスとクラスパスはマニフェストに正しく設定されます。

私たちのテストプロジェクトではうまくいきましたが、一般化したいので、呼び出し時に展開するartifactのgroupId/artifactId /バージョンを提供する必要があります。

私は正確に記入することが

<dependencies> 
    <dependency> 
     <groupId>${artifact.groupId}</groupId> 
     <artifactId>${artifact.artifactId}</artifactId> 
     <version>${artifact.version}</version> 
    </dependency> 
    </dependencies> 

を期待し

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>properties-maven-plugin</artifactId> 
    <version>1.0-alpha-2</version> 
    <executions> 
     <execution> 
     <phase>initialize</phase> 
     <goals> 
      <goal>read-project-properties</goal> 
     </goals> 
     <configuration> 
      <files> 
     <file>foobar.properties</file> 
      </files> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

のような性質-のmaven-pluginのを試してきました。残念ながら、Mavenは文句:

[ERROR]  'dependencies.dependency.artifactId' for ${artifact.groupId}:${artifact.artifactId}:jar with value '${artifact.artifactId}' does not match a valid id pattern. @ line 85, column 19 
[ERROR]  'dependencies.dependency.groupId' for ${artifact.groupId}:${artifact.artifactId}:jar with value '${artifact.groupId}' does not match a valid id pattern. @ line 84, column 16 
[ERROR]  'dependencies.dependency.version' for ${artifact.groupId}:${artifact.artifactId}:jar must be a valid version but is '${artifact.version}'. @ line 86, column 16 

だけが単一の依存関係があります。私は何をしたいのですか?

答えて

0

これを行わないでください。新しいプロジェクトを毎回スタンプするテンプレートを作成するには、maven-archetype-pluginを使用します。

+0

ありがとうございました。私はまだMavenとその考え方については新しいです。 –

+0

私は毎回新しいpom.xmlというアイディアが好きではありませんが、pom.xmlが完全であることは好きです(含まれていないプロパティに依存するのではなく)。私はこの仕事をしました。他の人への注釈:_not_にはテンプレート変数にピリオドがありますか? –

関連する問題