2012-08-28 178 views
2

我创建了一个新的Spring web应用程序,我非常想使用Maven来处理构建/依赖关系。我的问题是,该项目取决于一些现有的本地项目,并且对它们进行初始化并不是一种选择。是否有可能依靠这些项目而不使它们变为现实?如何将本地非Maven项目添加为Maven项目的依赖项?

+0

试试这个,http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/ –

+0

与蚂蚁建造的现有本地项目,另一种命令行构建工具,还是使用IDE“构建”和“发布”? – parsifal

回答

2

没有,你不应该尝试。 Maven的主要目标是建立一个标准化的版本。这就是Maven如此易于使用的原因:例外不是常态。这就是为什么Maven要求所有的依赖都是典型的Maven格式(POM + jar)。

当你说“mavenizing他们目前还不是一个选项”,你基本上说“Maven是不是目前的选项”。根据我的经验,将现有项目的Maven只需要几分钟的时间...除非说项目采用的是凌乱的,不可靠的构建过程在这种情况下,你真的应该转换它尽快只是Maven来制止浪费更多的你珍贵的时间。 :-)

如果一切都失败了,使用一个构建服务器从相关的项目产生的JAR文件并将它们部署到全公司资源库服务器,或只是到本地计算机。

+2

我完全同意,我们整个代码库,应使用Maven,并最终会,但现在的当权者是希望在本周结束,看看我的新项目,而Mavenzing几十个项目,并测试他们将采取相当一段时间。 – Jared

8

我认为要做到这一点,最简单的方法是部署当地的依赖到本地存储库,以便Maven可以使用它作为普通的依赖。

要部署本地jar文件到像本地存储库中使用命令行:

mvn install:install-file -Dfile=<MY-FILE> -DgroupId=MY-GROUP-ID -DartifactId=MY-ARGIFACT -Dversion=MY-VERSION -Dpackaging=jar 

如果您共享资源库就像在你的公司Artifactory的你可以在那里部署的罐子。否则,每个开发人员都必须将其部署到其本地存储库中。好消息只能做一次。

编辑。

这里有一个方法来定义项目到项目依赖到pom.xml

<dependency> 
     <groupId>com.mycompany.util</groupId> 
     <artifactId>util</artifactId> 
     <version>${com.mycompany.version}</version> 
    </dependency> 

就是这样。 Util是我工作空间中的又一个项目。

+0

有没有办法做到这一点,而无需存档本地项目?新的代码会被定期推送给他们,而且我不愿意不断重新烧录这些项目并将它们安装到本地存储库中。 – Jared

+0

如果你在谈论当地的项目,它更简单。使用项目到项目的依赖关系到您的pom.xml中。我会在一分钟后发布一个例子作为我的答案的补充。 – AlexR

+0

这是一个非常棒的答案,它完全符合我需要的只是在一个coupla键击和点击。 –

相关问题