【发布时间】:2012-02-13 06:13:24
【问题描述】:
我有一种情况,我们在 Eclipse 中使用 Maven,最终得到了许多包含要部署代码的工件。效果很好。
我们的一个目标平台在一个非常特定的位置调用一个明确命名的可执行 jar,经过一些试验,我发现可以通过 new pom 创建一个合适的可运行 jar。 xml 仅取决于从 Eclipse 项目创建的工件,然后调用第一个复制依赖项以从工件中获取依赖项,然后在正确的位置创建一个空 jar,但在清单中正确设置了 Main-Class 和 Class-Path .
这适用于我们的测试项目,但现在我想概括它,所以我需要能够提供 groupId/artifactId/version 以便在调用时部署工件。
我已经尝试过 properties-maven-plugin 之类的
<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>
期待
<dependencies>
<dependency>
<groupId>${artifact.groupId}</groupId>
<artifactId>${artifact.artifactId}</artifactId>
<version>${artifact.version}</version>
</dependency>
</dependencies>
要正确填写。不幸的是 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
只会有那个单一的依赖关系。我怎样才能实现我想要的?
【问题讨论】:
标签: java maven properties