2011-04-24 142 views
4

问题出在这里:我喜欢使用Maven,因为它完全简化了开发和依赖管理。但是,我正在使用一个不是Mavenized的服务器,所以我不能将它作为provided依赖项添加。有没有办法简单地指定一个额外的库文件夹并将其添加到Java编译器类路径,或者我需要实际创建一个完整的本地Maven存储库?我知道它完全限制了我的便携性,但我对此很好。思考?另外,在编译之后,我需要将所有非提供的依赖项都复制到本地服务器lib目录中,我假设我可以使用copy-dependencies插件来移动所有内容。如何创建托管非Mavenized库的本地Maven存储库?

回答

3

从Sonatype或Artifactory或任何其他存储库管理器免费下载Nexus。

另一种方法是了解install:install-file以将jar放入您的个人本地回购库。但是,如上所述的完全回购有很多优点(不是通过缓存的最低速度),因此安装一个更容易。

+0

这将使我能够创建自己的本地存储库?有没有简单的方法只是将外部JAR添加到我的编译器类路径中? – 2011-04-24 19:06:48

+0

并不简单。 – bmargulies 2011-04-24 19:08:21

+0

我会推荐Artifactory。我几次使用了nexus,这很好,但是升级并不总是与旧版maven版本兼容,并且在发行说明中它没有任何警告。 – extraneon 2011-04-24 19:13:43

2

您可以使用Maven2存储库实现,如Nexus,Artifactory或Archiva。

您可以为您正在使用的非Maven依赖项创建一个简单的POM,并使用deploy:deploy-file目标将其部署到存储库。

如果您只需要本地依赖项,则可以使用install:install-file在本地资源库中安装依赖项。这种方法只需要在你的机器上安装Maven。

如果您只是想将库添加到构建的路径而不用担心存储库,则可以将它们声明为system dependencies。我不推荐这种方法,但它应该可以正常工作。