不工作,我有这样的目录结构的Maven插件属性 - 在继承
root
|- pom.xml
|- submodule1
|- pom.xml
|- project.properties
|- subsubmodules
|-pom.xml
Submodule1从根继承和subsubmodules从submodule1继承
Subsubmodules具有使用性能从submodule1的project.properties到依赖性已经定义了它的版本。 即Subsubmodules
<dependency>
<groupId>some.org</groupId>
<artifactId>someartifact</artifactId>
<version>${themodules.version}</version>
</dependency>
在Submodule1的project.properties,我已经
themodules.version = 1.0
因此,我通过在根pom.xml中定义它使用的属性-行家-插件
<project>
<build>
<plugins>
<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>
<!-- *edited from earlier post <file>etc/config/dev.properties</file>-->
<file>${basedir}/project.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
然后我在根目录下运行mvn install。 Maven说它无法解析依赖关系中的$ {themodules.version}。
我也在子模块级别运行mvn install,它仍然无法解析。
帮助请
对不起,我在根pom.xml中添加为 $ {basedir} /project.properties ,并假定它将继承到子模块pom模型。因此它应该读取子模块中的project.properties。这个假设是不正确的?鉴于继承工作是自下而上的方法,父母很难确切地知道他们的子女是谁,以及project.properties文件的确切位置在子女 –
ALQH
2012-01-12 22:05:26
@ALQH内,因此没有关于属性文件继承的概念,您只需要告诉properties-maven-plugin哪里是读取属性文件的确切位置。 – yorkw 2012-01-12 22:10:38
我在根目录pom.xml中声明,但是当我运行mvn install时,它仍然无法传递在subsubmodules中用作依赖版本的$ {themodules.version}。它说dependency.dependency.version无效。 – ALQH 2012-01-13 01:34:37