我需要从pom.xml文件中获取maven版本号(例如3.0.5,3.1.0)我需要它才能为以下内容添加正确的依赖项:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.0.5</version>
</dependency>
版本3.1.0需要相同版本的库,3.0.5版本相同。
我认为在poms中必须有类似${maven.version}
的东西,但我找不到它。
编辑: 我需要该项目在maven 3.0和3.1中工作所以我不能静态地执行它必须得到当前正在运行的maven的版本
答案 0 :(得分:3)
最好的解决方案是定义这样的属性:
<properties>
<maven.version>3.0.3</maven.version>
</properties>
并在pom文件中定义具有此属性的依赖项。
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.version}</version>
</dependency>
或
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>${maven.version}</version>
</dependency>
或插件-api如下:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${maven.version}</version>
</dependency>
对于maven模型,如果使用3.0.1或3.0.5或3.1并不重要,因为模型(pom.xml)尚未更改。对于plugin-api,你可以使用3.0.5并让它在Maven 3.1中运行。 BTW:以上内容来自一个在Maven 3.0和3.1下运行的插件。
答案 1 :(得分:1)
您可以通过settings.xml
文件自行添加。
${settings.mvn.version}
会引用:
<settings>
<mvn>
<version>3.1.0</version>
<mvn>
</settings>
或者使用以下内容在{$mvn.version}
中直接添加pom.xml
<project>
...
<properties>
<mvn.version>3.1.0</mvn.version>
</properties>
...
</project>