将jar放在lib下

时间:2009-11-28 09:05:18

标签: java

外部jar文件放在Mac OS X上的/ Library / Java / Extensions下,我有多个依赖于一组jar的应用程序,例如JavaMail Api,如果我将所有jar都转储到java文件夹中取出它们,但我想要做的是将它们组合在一起,例如所有邮件api jars都转到邮件文件夹。但是如果将它们分组到文件夹下,它们就不会被java拾取。我必须将它们转储到Extensions文件夹中吗?在更新分组时,这会让我的生活变得更轻松。

3 个答案:

答案 0 :(得分:1)

  • 不,他们应该直接在/Library/Java/Extensions/

  • 下调整大小
  • 但是,在调用Java程序时,始终可以将-Djava.ext.dirs=...作为附加参数传递。

  • 作为旁注:如果您要管理项目的依赖项,请尝试查看构建工具,它以声明方式解析依赖项,例如ant.apache.org/ivymaven.apache.org

答案 1 :(得分:0)

除非你真的必须这样做,否则你不应该使用全局扩展库。

基本上你的程序应该是一个自包含的单元,库存代码在库存JVM之上,这将允许不同的程序对库代码版本有不同的要求,并且在其他机器上使用它时也可以工作。

选择一个好的IDE(Eclipse,NetBeans,也许是Xcode,但我还没有使用它)并学习将jar文件添加到项目中。它将使你成为未来雇主更具吸引力的程序员。

答案 2 :(得分:0)

我发现这种行为让我自己很烦,在引用外部jar时你必须有一个扁平的文件夹结构(如果你不单独添加jar)。

但是,如果您不介意将它们分组到jar文件而不是将它们分组到文件夹中,我建议 One-Jar
引用:“One-JAR使用类加载器,它知道如何从Jar文件中的Jar文件加载类和资源。”