Java - 在Linux上放置第三方JAR并设置classpath的位置

dje*_*lin 2 java jar

基本上有两个问题:

1)我的第三方JAR应该去哪里?目前我不情愿地将它们放在我的应用程序包中,这是不道德的,例如因为第三方库是较低级别的,并且应该能够被我的所有应用程序所依赖.

2)应该在哪里设置类路径?我已经看过的教程听起来应该是一个全局变量,但我不知道这是因为它需要依赖于项目,即项目X需要库L和M但是项目Y需要库M和N.目前我只是为每个应用程序创建一个"cp"文件,但我想知道是否有更规范的样式.Z

use*_*own 8

你投入的罐子

JAVA_HOME/jre/lib/ext
Run Code Online (Sandbox Code Playgroud)

不需要在类路径中指定.因此,这对于您经常使用的库(例如apache-commons)非常有用.

使用类路径可以更好地调用很少使用的库.

设置类路径取决于您的使用情况,以及您是在单个用户计算机上工作,无论是客户端还是服务器.许多Java应用程序都是为服务器而制作的,您恰好只有一个类路径.

  • 虽然这是有效的 - 它是一个非常糟糕的主意.请参阅[link](http://stackoverflow.com/questions/2068961/is-putting-external-jars-in-the-java-home-lib-ext-directory-a-bad-thing)进行讨论. (2认同)