Java—在Linux上放置第三方JAR和设置类路径的位置

Java—在Linux上放置第三方JAR和设置类路径的位置,java,jar,Java,Jar,基本上有两个问题: 1) 我的第三方罐子应该放在哪里?目前,我不道德地将它们放在我的应用程序包中,这是不道德的,例如,因为第三方LIB级别较低,应该能够被我的所有应用程序依赖 2) 类路径应该设置在哪里?我看过的教程使它听起来像是一个全局变量,但我不知道这一点,因为它需要依赖于项目,即项目X需要库L和M,但项目Y需要库M和N。目前我正在创建一个“cp”文件,但我想知道是否有更规范的样式。Z1>在我们的项目中,我们制作了一个只包含第三方JAR的“第三方”项目。主要应用程序位于一个单独的项目中,该项

基本上有两个问题:

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


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

1>在我们的项目中,我们制作了一个只包含第三方JAR的“第三方”项目。主要应用程序位于一个单独的项目中,该项目仅引用第三方项目

所以,第一个问题的答案可能是,创建一个名为“第三方”的单独项目,并将所有罐子放在那个里

2> 通常,在Linux中,您创建shell变量并将它们指向JAR/类文件,如下所示:-

# export GWT_HOME=/opt/smartgwt.jar
然后,当您调用Java时,可以执行如下操作:-

# java -cp $GWT_HOME <your_main_class>
#java-cp$GWT#u HOME
您放入的罐子

JAVA_HOME/jre/lib/ext
不需要在类路径中指定。因此,这对于经常使用的库非常有用,比如ApacheCommonsforEample

很少使用的库最好用类路径调用


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

你最好在两个线程中问两个问题,因为你应该接受最好的正确答案。现在,如果您将q1的正确答案标记为已接受,您可能不会得到更多答案。从这个问题来看,没有人会知道为什么你接受了一个答案-第一季度或第二季度的答案,或者两者都有?在我的CentOS 7.0上,它是
/usr/lib/jvm/jre/lib/ext/
,而这是一个非常糟糕的主意。请参阅以进行讨论。