我正在使用Ant来构建一些Java项目.
在某些情况下,我lib/在JAR文件的表单中有一个包含外部依赖项的目录.
在构建期间,我创建了一个捆绑的jar,它包含项目的代码以及依赖项,通过向目录中的zipfileset每个jar添加bundle jar文件a lib/.
问题是,每次我添加一个jar或更改名称时,我都需要记住更新build.xml文件,因为我找不到以zipfilesets自动方式添加这些文件的方法,这些方式将包括特定模式中的所有jar(例如lib/*.jar).
这样做有更好的方法吗?
我已经考虑为此编写自己的Ant任务,或者使用Groovy的ant API以编程方式执行此操作,但是想知道是否有使用"vanilla"ant的方法.
我有一些外部jar的运行时依赖项,我想"重新"到一个jar中.这些外部依赖项存储在external_jars目录中,我希望不必全部列出它们(即,如果我的依赖项发生更改,则不需要更改构建脚本).有什么想法吗?
谷歌给了我一个很好的答案,如何做到这一点 - 如果你不介意将每个jar列为依赖:
http://markmail.org/message/zijbwm46maxzzoo5
粗略地说,我想要的是下面的内容,它们将lib目录中的所有jar组合成out.jar(带有一些合理的覆盖规则).
jar -combine -out out.jar -in lib/*.jar
Run Code Online (Sandbox Code Playgroud) 可能重复:
将外部库放到JAR中?
我有NetBeans 6.8,我写了一个有两个库(jar文件)的类.构建它,我得到一个带有project.jar的"dist"文件夹和一个包含两个lib jar文件的"lib"文件夹.
我怎么能在一个jar文件中得到所有这些?(我不使用Maven/Ant或类似的东西.)
我正在使用 JDeveloper 11g 开发桌面应用程序。我想制作可在java环境中运行的整个项目jar..如果我只使用标准Java库jar工作正常,但我的项目包含外部库,如JfreeChart、Comm、Hibernate3等...当我尝试制作jar时它显示错误如何使我的项目的整个 jar 以及外部库的。
谢谢