如何解决使用Maven Flatten插件展平一组依赖 父pom.xml LWJGL pom.xml:
在我的项目中,我使用模块对多个依赖项进行分组(即LWJGL和JOJO库),这样我就可以在不重复其定义的情况下从其他模块中使用它们(或多或少Maven Tips and Tricks: Grouping Dependencies中所述)
我仅部署一个模块,其他模块只是上述的组模块和包含示例的模块。
我使用Maven Flatten Plugin为我部署的工件获得了合理的POM。这通常工作得很好,唯一的缺点是对LWJGL / JOGL的依赖关系指向我的“组”模块。我想“扩展”(“展平”)那些依赖项,以便pom.xml
直接引用所需的工件。
可以看到整个项目on Github。我认为说明问题的重要部分是:
父pom.xml
...
<modules>
<module>examples-jogl</module>
<module>lib</module>
<module>jogl</module>
<module>lwjgl</module>
<module>examples-lwjgl</module>
</modules>
<packaging>pom</packaging>
<name>GLG2D</name>
...
LWJGL pom.xml:
<parent>
<artifactId>glg2d-parent</artifactId>
<groupId>net.opengrabeso</groupId>
<version>${projversion}</version>
</parent>
<artifactId>lwjgl</artifactId>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
<lwjgl.version>3.2.3</lwjgl.version>
</properties>
<profiles>
...
</profiles>
<dependencies>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl</artifactId>
<version>${lwjgl.version}</version>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-glfw</artifactId>
<version>${lwjgl.version}</version>
</dependency>
<dependency>
...
正在部署的模块的扁平化pom.xml当前包含:
...
<dependencies>
...
<dependency>
<groupId>net.opengrabeso</groupId>
<artifactId>lwjgl</artifactId>
<version>0.7.4</version>
<scope>provided</scope>
</dependency>
...
</dependencies>
...
我希望它包含lwjgl
模块的依赖项-现在包含在其pom.xml
中的依赖项。
使用flatten
或其他插件可以实现吗?还是应该以不同的方式构造pom.xml
?我不介意采用其他结构,只要:
- 我不必重复使用的LWJGL / JOGL库列表
- 我可以在不同的模块中使用具有不同范围(
provided
和compile
)的LWJGL / JOGL库 - 我只能发布所需的模块(尤其是我不想将示例作为库模块的一部分发布)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。