maven install 详解maven的install的作用
sky_jiangcheng 人气:2一,使用eclipse
1,maven的install可以将项目本身编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往私服发布jar包的痛苦;
2,修改服务端比如manage层和dao层的项目的时候如果eclipse没有自动编译,则在调试的时候容易出很奇怪的错误,就是明明代码已经改好了,但是debug的时候还是在报错,这就是没有项目没有编译完成造成的,看到的改好的代码没有变成class,因此,服务端的文件改动之后如果发现没有效果的时候要记得问题可能是没有编译,这时候可以使用maven的install命令编译一下;
3,install有时候会报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin...,这种情况下可以检查项目里有没有出现编译错误,如果没有,就检查一下pom文件中surefire的配置;参考如下:
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <systemProperties> <property> <name>log4j.configuration</name> <value>log4j.properties</value> </property> </systemProperties> <skipTests>false</skipTests> </configuration> </plugin>
如果配置没有问题的话,一般可以从日志中找到bug出现的原因了。
二,使用idea
使用idea可以很方便创建project和module,但是修改各个module的版本的时候,会遇到import报错的情况,这就是maven仓库中没有对应的包,仍然需要使用到install,注意要使用lifecycle里面的install,这样就可以将已有的module打包到maven仓库,再进行修改版本号,不会影响项目里的其他module
maven package与maven install命令的区别
在项目中经常会发生,一个子项目修改了但是其他有依赖该子项目的项目却依赖不到,于是就了解一下maven 一些命令的含义
1. maven install:打包好的 jar 包会安装到本地的 maven 仓库中,使用的配置是默认的配置,供其他项目使用。
2.maven package 指定参数打包:clean package -Dmaven.test.skip=true -Pprod 这种方式就是指定了打包的参数,并且打包后的文件存放到项目的 target 目录下。
总结:
如果子项目之间的工程,发生改动,改动的子项目要进行maven install,然后需要调用该子项目的子项目进行maven package
最简单的方式就是父工程进行maven install
加载全部内容