2013-05-10 74 views
0


我对使用maven很新颖。
我正在使用maven作为我的构建工具。当我使用maven构建代码时,我将构建过程中创建的构件(即jar和zip)复制到本地maven-repo以及另一个备份文件夹中。
我使用maven将工件从我的maven-repo复制到服务器,在那里我必须部署它们。我使用的pom会自动选取最新的工件并将其部署到所需的服务器上。
但是,我想要做的是告诉maven在不同时间从不同文件夹中选择工件,而不是maven-repo。


我试过了,但无济于事。请帮助:)告诉maven从maven-repo以外的目录复制工件

+0

另外,请注意我正在使用maven-dependency-plugin – San7988 2013-05-10 13:25:12

+0

“其他目录”只是一个“普通目录”,或者你可以认为它是另一个maven回购? – dratewka 2013-05-10 13:28:50

+0

@dratewka否,另一个目录不能被认为是另一个maven-repo – San7988 2013-05-13 13:34:03

回答

3

从技术上讲,答案是否定的,你不能告诉maven从任意文件夹中获取工件。这是因为maven背后的全部想法是,您始终可以重现您的构建,并且确切知道您的所有依赖来自哪里。

我会建议你尝试maven-installing你有的其他工件。这将把他们拉到你的存储库和maven将从那里工作很好。你可以尝试愚弄maven,但是这有点挫败了使用maven的全部目的。

0

我认为,您的做事方式和Maven的最佳折衷方案是依靠Maven的本地存储库(通常位于家中的.m2/repository目录中)作为您的备份文件夹。通过这种方式,执行备份和执行部署的区别在于,第一种情况下仅使用mvn install,第二种情况下使用mvn deploy

有了Maven,你可以用不同于Maven的开发人员所打算的方式来完成许多事情,但坚持Maven的约定会更容易。

0

同意克里斯,这是违背的期望是什么行家的使用,但是......

<repositories> 
    <repository> 
     <id>my-internal-site1</id> 
     <url>file:${project.basedir}\cometrepo</url> 
    </repository> 
</repositories> 

变更网址试试这个在你的pom.xml到本地文件夹中。

在该文件夹中,引用的构件应该与它们在pom中引用的结构相同。

希望有所帮助。

+0

大家好,非常感谢你所有的回应:)... @ sumit是否做了上面提到的改变,简单地覆盖了我的本地maven-repository任意目录? – San7988 2013-05-13 13:36:30

+0

它同时使用您的设置存储库,然后使用此pom存储库来解析不在设置存储库中的工件。 – Sumit 2013-05-13 14:55:56

+0

嗨@sumit ... 参数必须包含在profiles.xml文件下或用于部署的pom.xml ..我无法弄清楚它在我使用的pom.xml中的用法部署...一个善意的建议:) – San7988 2013-05-14 12:27:31

相关问题