我有一个maven项目(maven 3.0.5),它具有开放范围依赖性:
<dependency>
<groupId>myGroupId</groupId>
<artifactId>myArtifactId</artifactId>
<version>[1.0.0,2.0.0)</version>
</dependency>
在运行时,依赖关系从我需要的1.X分支中解析出来。 现在,假设它是1.3。
我还需要使用运行时解析的工件版本更新deploymend描述符:遵循类似的问题我尝试使用antrun插件执行以下操作:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<tasks>
<replace file="${project.build.outputDirectory}/jboss-deployment-structure.xml"
token="@@@" value="${project.dependencies[0].version}"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
更改&#34; @@@&#34;占位符内部:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="com.ericsson.oss.mediation.cliengine.api" slot="@@@" />
</dependencies>
</deployment>
</jboss-deployment-structure>
但变量:
${project.dependencies[0].version}
永远不会受到约束。 有办法实现这个目标吗?