maven - 如何设置从 Maven 中的依赖项引用的属性

标签 maven properties dependency-management

在我的项目中,我有 maven 依赖项。
顺便说一下:

<dependency>
   <groupId>org.mule.modules</groupId>
   <artifactId>mule-module-activiti</artifactId>
   <version>3.2.0</version>
</dependency>
在这个依赖 POM 中,有一个使用但未定义的属性 - ${activiti.version}我发现如何设置此属性的唯一方法是在命令行上指定它,如 mvn -Dactiviti.version=5.10有没有办法在我的项目的 POM 中指定这个属性?<properties><activiti.version>5.10</activiti.version></properties>不起作用。
编辑:
如果您创建具有依赖项的新 maven 项目,则可以重现我正在尝试解决的情况:
<dependency>
   <groupId>org.mule.modules</groupId>
   <artifactId>mule-module-activiti</artifactId>
   <version>3.2.0</version>
</dependency>
并提供所需的存储库:
  <repositories>
        <repository>
            <id>muleforge-repo</id>
            <name>MuleForge Repository</name>
            <url>http://repository.muleforge.org/release</url>
            <layout>default</layout>
        </repository>

        <repository>
            <id>codehaus-repo</id>
            <name>Codehaus Repository</name>
            <url>http://dist.codehaus.org/mule/dependencies/maven2</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>activiti</id>
            <name>Activiti</name>
            <url>https://maven.alfresco.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>
编辑 2:
这是一个 POM org.mule.modules:mule-module-activiti:3.2.0 ,我的项目依赖的库。在这个 pom 中,他们使用表达式 ${activiti.version} .但他们不要设置此表达式的值。 (没有什么像 <properties><activiti.version>5.10</activiti.version></properties> )
问题是如何从 为这个表达式设置一个值我的 庞?

最佳答案

好的,最后,经过几天的搜索和试验,我找到了解决问题的方法。
如果需要在命令行中为 maven 提供属性(说的是 系统属性 ,与 maven 属性 略有不同),也可以使用插件在您的 pom 或在单独的属性文件中。
注:
系统属性可用于覆盖依赖项中的 Maven 属性。
像这样:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
        <execution>
            <goals>
                <goal>set-system-properties</goal>
            </goals>
            <configuration>
                <properties>
                    <property>
                        <name>activiti.version</name>
                        <value>5.10</value>
                    </property>
                </properties>
            </configuration>
        </execution>
    </executions>
</plugin>
我希望它会对某人有所帮助。
也很抱歉我的笨拙问题显然难以理解。

关于maven - 如何设置从 Maven 中的依赖项引用的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175223/

相关文章:

java - 使用 IntelliJ IDE 设置 Maven '-Denvironment'

intellij-idea - Gradle 依赖管理 - 传递依赖版本不正确

java - 如何在属性文件的数值中包含 _?

java - 从 JAVA TOMCAT 属性文件中检索 key

jquery - 访问 jQuery 自定义对象函数和属性

PHP 是否有等同于 Composer 的 npm 链接?

maven-2 - Maven - 依赖继承 - 提供

基于存在多个文件的 maven 配置文件激活

java - pom.xml 如何以及在何处配置为由 Web 项目调用

java - Gradle 和 Maven 与 3d 派对 jar