我是Maven的新手,我有一个基于Java的Web项目,在MyEclipse中配置了maven。
现在,如果我修改了任何Java文件,那么我需要做Run as -> Mvn install
还是做Mvn package
?
我是Maven的新手,我有一个基于Java的Web项目,在MyEclipse中配置了maven。
现在,如果我修改了任何Java文件,那么我需要做Run as -> Mvn install
还是做Mvn package
?
Answers:
来自http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
package
:获取编译后的代码并将其打包为可分发格式,例如JAR。
install
:将软件包安装到本地存储库中,以作为本地其他项目中的依赖项
因此,问题的答案是,这取决于您是否希望将其安装到本地存储库中。Install也将运行程序包,因为它在目标阶段堆栈中更高。
deploy
呢。如果您将其替换为package
,则不会将其部署到Nexus。
mvn install
是最常用的选项。
mvn package
仅在调试Maven构建过程中的某些问题时才很少使用。
参见:http : //maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
注意,mvn package
这只会创建一个jar文件。如果其他代码依赖于这些jar,
mvn install
将执行此操作并将 jar(和类等)文件安装在适当的位置。
我通常做一个mvn clean install
; 这将删除target
目录并在该位置重新创建所有jar。
清洁有助于处理不必要的或被移除的东西,这些东西有时可能会造成干扰。
而不是调试(有时)只是一直重新启动。
如果您不使用远程存储库(如工件),请使用普通的旧版本:
mvn clean install
相当老的话题,但有AFAIK,如果您运行自己的存储库(例如:带有人工制品)以在团队之间共享jar,则可能要使用
mvn clean deploy
代替。
这样,您的持续集成服务器可以确保将所有依赖项正确地推送到远程存储库中。如果错过了一个,mvn将无法在您的CI本地m2存储库中找到它。
package-打包已编译的代码,并将其打包为可分发的格式,例如JAR或WAR文件。install-将软件包安装到本地存储库中,以作为本地其他项目中的依赖项