maven - 覆盖 maven 插件中的依赖项(一个插件,不同的模块和不同的依赖项)

标签 maven plugins pom.xml

我有一个包含更多模块的 java 项目。在某些模块中,我使用插件。
在那个插件中,我需要从它的依赖项中覆盖一个。到现在为止还挺好。通过在插件定义中添加所需的依赖项来解决。

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>xdoclet-maven-plugin</artifactId>
   <version>1.0</version>
   <dependencies>
      <dependency>
         <groupId>xdoclet</groupId>
         <artifactId>xjavadoc</artifactId>
         <version>1.5-SNAPSHOT</version>
       </dependency>
   </dependencies>
   ...

但是在其中一个模块中,我需要用其他版本覆盖该依赖项。我试图用与覆盖相同的方式来解决这个问题。
如果我只编译那个子模块,则使用正确的依赖版本,但如果我编译整个项目,它就不起作用,因为它使用插件的其他模块的依赖,而不是模块 pom.xml 中指定的依赖。

知道如何解决我的问题吗?

最好的问候,菲利普

最佳答案

您可以为您的插件版本创建属性,例如 xdoclet.version并使用它来覆盖父版本。

<properites>
   <xdoclet.version>1.5-SNAPSHOT</xdoclet.version>
</properties>
...
<plugin>enter code here
<groupId>org.codehaus.mojo</groupId>
<artifactId>xdoclet-maven-plugin</artifactId>
<version>1.0</version>
<dependencies>
  <dependency>
     <groupId>xdoclet</groupId>
     <artifactId>xjavadoc</artifactId>
     <version>${xdoclet.version}</version>
   </dependency>
</dependencies>
...

关于maven - 覆盖 maven 插件中的依赖项(一个插件,不同的模块和不同的依赖项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422013/

相关文章:

maven - 从 Maven cli 运行 Cucumber 和 JUnit 测试

android - Android:Gradle导入无法解决

python - 如何在 pyqt 中为 QAction 重新实现 triggered() 信号?

plugins - 使用DynamicsCRM中的插件获取EntityReference的GUID

java - 使用properties-maven-plugin选择application.properties

java - 可视化虚拟机可以从 Maven 中包含并监控我的应用程序吗

Maven/第谷 SWTBot Eclipse RCP

maven - 如何使用tomcat :run?运行maven war依赖

xml - 如何在 Maven pom 属性值中转义 '&'

java - 无法解决 pom.xml 中的错误