2009-11-28 53 views
1

外部jar文件放在Mac OS X/Library/Java/Extensions下,我有多個應用程序依賴於一組jar如JavaMail Api,如果我轉儲文件夾中的所有jar java拿起它們,但我想要做的是將它們組合在一起,比如所有的郵件api罐子都轉到郵件文件夾。但是,如果將它們分組在文件夾下,它們不會被java拾取。我必須將它們轉儲到擴展文件夾中嗎?這會使我的生活在更新時更容易分組。分組Jar的下lib

回答

1
  • 不,他們應該直接在/Library/Java/Extensions/下調整大小。

  • 但是,當您調用Java程序時,您總是可以將-Djava.ext.dirs=...作爲附加參數傳遞。

  • 作爲旁註:如果您要管理項目的依賴項,請嘗試查看構建工具,這些工具會聲明性地解決依賴關係,例如ant.apache.org/ivymaven.apache.org

0

除非您確實需要,否則不應使用全局擴展庫。

基本上你的程序應該是一個自帶的庫單元,在庫存JVM的頂部,這將允許不同的程序對庫代碼版本有不同的要求,並且在其他機器上使用時也會有效。

選擇一個好的IDE(Eclipse,NetBeans,也許是Xcode,但我沒有用過它)並學會將jar文件添加到您的項目中。它會讓你成爲未來僱主更具吸引力的程序員。

0

我的確發現這種行爲令人討厭,你必須在引用外部罐子的時候有一個扁平的文件夾結構(如果你沒有單獨添加罐子的話)。

但是,如果您不介意將它們分組到jar文件中,而不是將它們分組到文件夾中,我會推薦One-Jar
引用:「One-JAR使用類加載器,它知道如何從Jar文件中的Jar文件加載類和資源。」

相關問題