在Eclipse项目中放置和链接外部JAR的Java最佳实践是什么?

4

我最近开始重新学习Java,并一直在努力弄清楚应该如何组织我的项目。我来自C#背景,只需要确保编译的库可以通过将它们放在相同的文件夹或子文件夹中来检索可执行文件(或其他库),但是Java似乎做事情有所不同。

在我的Eclipse工作空间中,我有一个我正在工作的主要项目(现在只有一个,以后会有更多),它引用外部JAR(在我的情况下,是Apache Axis2的数以百万计的文件)。

构建项目时,我的项目依赖于这些库,我应该把它们存储在哪里?我很快就需要将所有内容添加到源代码控制中,因此不能通过我的机器上的绝对路径引用这些JAR。我阅读了将其放在我的主项目的子文件夹中的建议,但我觉得那不是理想的。我认为我应该将它们保存在与项目相同的源代码控制父文件夹中,并通过相对路径引用它们(Eclipse通过UI使用绝对路径,真的吗?),因此类似于:

c:\JavaProjects\MyProject c:\JavaProjects\axis2-1.5.4 c:\JavaProjects\%whatever other library%

是否有更好的方法?

3个回答

8
理想情况下,您不应该将库存储在项目中。它们可以通过所谓的依赖管理工具从公共(或私有)存储库检索。最突出的两个工具是MavenIvy
Eclipse(以及任何其他IDE)与这些工具集成(通过插件),并自动将所需的库添加到类路径中。您只需要在配置文件中定义它们(以及它们的版本)。

2
学习曲线有点陡峭,但我真的会考虑使用Maven。
完全集成需要使用M2Eclipse。

2
花时间学习和使用Maven 3
设置一个私有的仓库管理器,我使用Archiva
使用Jenkins进行持续集成,它与Maven无缝协作。
这需要一些时间和精力,但一旦配置完成,就不需要再次操作,使得一步构建和部署变得轻松!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接