如何在任何环境中自动找到Java .jar文件

时间:2014-11-26 05:11:41

标签: java jar buildpath

我正在尝试将外部库添加到我的Java项目中。库文件是.jar格式,每当有人试图在不同的环境中运行项目时,他们必须修改构建路径,以便他们的环境可以找到.jar文件。

是否有任何方法可以使构建路径自动找到.jar文件?也许通过指定项目在.jar文件中的位置?

编辑:这是一个例子 - 在我的linux环境中,.jar文件位于:

/home/MyUsername\SomeDirectory\workspace\java_project_name\data

在我的Windows环境中,.jar文件位于:

C:\MyUsername\SomeDirectory\workspace\java_project_name\data

在上面的示例中,项目根目录是" java_project_name",.jar文件始终位于java_project_name \ data文件夹中。即使是这种情况,不同的环境似乎也无法检测到它始终与项目的根目录相同。

我已经在许多地方看过如何做到这一点,有些人告诉我这是不可能的。这对我来说听起来不合理,这就是我在这里发布这个问题的原因。

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

您可以在主jar的清单文件中添加ClassPath:条目,并使用相对路径。只要相对于主罐发现罐子就可以了。

答案 1 :(得分:2)

这个问题是我开始使用maven的主要动力之一。 @YoK在这里很好地引用了这个问题的相关原因https://stackoverflow.com/a/3589930/1493954

以下是来自Benefits of using Maven

的相关引用
  

的Henning

     
      
  • 快速项目设置,没有复杂的build.xml文件,只是一个POM并且去
  •   
  • 项目中的所有开发人员都使用相同的jar依赖项   集中式POM。
  •   
  • 获取项目的大量报告和指标   "免费"
  •   
  • 减少源分发的大小,因为jar可以   被拉出中央位置
  •   

答案 2 :(得分:1)

这是开发环境的常见问题。

我自己在netbeans中使用以下解决方案[希望它也适用于你的IDE]:

  1. 创建一个Ant变量[例如JAR_LOCATION]。
  2. 您引用的每个JAR必须具有相对于JAR_LOCATION的位置。
  3. 现在,在您将使用的每个开发环境中,您可以设置相同的ANT变量,它将自动获取JAR。

    您可以在给定的netbeans快照中看到示例.. enter image description here