2011-04-14 66 views
2

我只是回到Java,我一直在试图弄清楚我应该如何组织我的项目。我来自C#背景,你只需确保你编译的库可以被可执行文件(或其他库)检索到,保持它们在相同的文件夹或子文件夹中,但是java似乎做了不同的事情。在我的Eclipse工作区中,我有我的主要项目(现在只是一个,稍后),它引用外部JAR(在我的例子中,是Apache Axis2的文件)。在Eclipse项目中放置和链接外部JAR的Java最佳实践?

我应该在哪里存储这些库,这些库是我的项目在建造时所依赖的?我将需要尽快将所有内容添加到源代码控制中,因此我无法在机器上通过绝对路径引用这些JAR。我阅读了关于将这个IN放在我的主项目的子文件夹中的建议,但我觉得这并不理想。我认为我应该把它们放在与项目相同的源代码控制的父文件夹中,并且通过相对路径引用它们(eclipse中的绝对路径通过UI,真的吗?),所以如下所示:

c: \ JavaProjects \ MyProject的 C:\ JavaProjects \ axis2-1.5.4 C:\ JavaProjects \%无论其他图书馆%

有没有更好的方法?

回答

7

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

2

学习曲线有点过分,但我真的会考虑使用Maven

尽管如此,M2Eclipse将需要完全集成。

2

花时间学习和使用Maven 3

设置私人存储库管理器,我使用Archiva

使用Jenkins进行持续集成,它可以与Maven无缝协作。

这需要花费一些时间和精力,但是当它被配置时,它并不需要再次被触摸,并且使得构建和部署一步骤变得简单!