创建工件的子集

扬·奥拉夫·艾德(Jan-Olav Eide)

我有一个Maven项目,我需要从中生成一个用Java 7编译的所有类的jarfile,以及另一个用Java 6编译的类的子集的jarfile。我知道我应该只生成一个工件pr项目,这是什么?最好的办法就是将其拆分以实现我的目标?

帕维尔

如果您必须运行两个单独的构建来生成两个工件,这对您来说是否重要?如果没有,您可以使用Maven profile轻松实现您可以设置每个JDK概要文件,以产生具有不同分类器的工件,以区分它们。

就个人而言,我不希望为此使用配置文件。两种替代方法是使用具有插件定制功能的单个Maven模块来执行两组独立的编译和工件打包操作,或者迁移到基于目标JDK进行显式分离的多模块Maven构建。例如,请参阅此答案。)前者会使pom.xml难以维护,但会导致一个单一的结构。您可能会发现您花费大量时间来调整包含/排除项,以指定每个工件中包含的内容。后者将导致更复杂的项目结构,但是毫无疑问,哪些源文件会进入什么工件中。

惯用的正确Maven方法是将您的代码库拆分为具有单独Java 6和7模块的多模块项目,每个模块都有自己的pom.xml。每个文件都可以指定不同的源/目标版本,并且仅包含适当的源文件。Java 7模块可以依赖Java 6类并将其重新打包到其自己的工件中(使用依赖项/程序集插件),甚至可以直接使用相对路径直接引用Java 6模块的源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章