buildr 创建一个包含库和其他项目的 jar
我有 2 个 Java 项目(例如 p1 和 p2),我想创建包含这两个项目及其库的 jar(使用 buildr)。
p2 取决于 p1。
compile.with(projects('p1'), removeDups(project('p1').compile.dependencies), removeDups(P2_LIBS))
package(:jar).with( :manifest => {'Main-Class' => 'com.p2.Main'} )
compile.dependencies.each do |x|
if x
package(:jar).merge(x).exclude('META-INF/MANIFEST.MF')
end
end
我尝试了这个,但这给了我一个错误,我认为因为 p2 依赖于 p1,因为如果我只有 p1 和 libs 这有效。
那么我应该如何创建带有 p1、p2 和 libs 的 jar 文件呢?
I have 2 Java projects (eg p1 and p2) and I want to create jar (using buildr) that contains both projects and their libs.
p2 depends on p1.
compile.with(projects('p1'), removeDups(project('p1').compile.dependencies), removeDups(P2_LIBS))
package(:jar).with( :manifest => {'Main-Class' => 'com.p2.Main'} )
compile.dependencies.each do |x|
if x
package(:jar).merge(x).exclude('META-INF/MANIFEST.MF')
end
end
I tried this, but that give me an error, I think because p2 depends on p1, because if I have only p1 and libs this works.
So how should I create the jar file with p1, p2 an libs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您定义一个打包项目来打包两者。
请参阅此处和此处。
You define a packaging project that packages both.
See examples here and here.
为什么不使用任何 IDE(例如 netbeans)为 p1 创建 JAR 文件?它将位于您的 dist 目录中,将其包含在 p2 的库路径中,然后构建 p2 并获取其 Jar。
Why don't you create a JAR file for p1 using any IDE (netbeans for example)? It will be on your dist directory, include it in the libraries path for p2 then build p2 and get its Jar.