我有一个项目,它作为构建过程的一部分创建了一个XMLBeans jar文件(stbSchemas.jar),我想在这个项目中包含和引用它。
这是解决此问题的最佳方式(单个项目)还是应该有一个从父项目构建的子项目?
我在Eclipse中使用Maven2构建它。是否有更好的方法可以保持项目的完整性和构建的稳定性。
答案 0 :(得分:1)
嗯。如果我理解正确,你说你需要在项目中引用stbSchemas.jar,以便构建一些不会进入stbSchemas.jar文件的代码。如果这是一个正确的假设,那么我认为你应该做一些重构,以便你有这样的事情:
1)项目顶层的Maven父pom文件。那个父pom有一个模块部分,它将引用步骤2中的2个模块.E.G:
<modules>
<module>stbSchemas</module>
<module>core</module>
</modules>
2)将代码拆分为干净的模块。 stbSchemas将是第一个,你的其他代码将是第二个模块。每个模块都有自己的pom.xml文件,它将引用父pom文件,如下所示:
<parent>
<groupId>parent.group</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
第二个模块的pom.xml文件还需要stbSchemas.jar的依赖部分,如下所示:
<dependency>
<groupId>my.group</groupId>
<artifactId>stbSchemas</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
然后,当你构建第二个模块时,它会选择stbSchemas.jar。
3)一旦你在Maven中设置了(或类似的东西),就可以使用maven eclipse插件(mvn eclipse:eclipse)为整个项目生成正确的eclipse类路径。然后,您可以在Eclipse中刷新项目,这将把stbSchemas.jar放在类路径上。
答案 1 :(得分:0)
我的建议是,当你使用Maven构建jar时,让我们在你想要使用这个jar的项目中有一个文件夹说“runtime”。并且只要创建了jar,maven就会将jar复制到项目的运行时,所以无论何时你有新的构建,你都会在runtime文件夹中拥有最新的jar。 现在让您的项目从运行时文件夹中引用jar。通过在其构建路径中添加它。 希望这有帮助
答案 2 :(得分:0)
编写脚本以将jar复制到所需的文件夹,并编辑项目的.settings文件夹中的xml文件,以通过相同的脚本将jar包含为引用,或者在运行时将其添加到buildpath中。