maven项目中jar包的生命周期及其打(war)包方式

依赖范围 编译时有效     测试时有效 运行是有效 例子
compile Y Y Y 核心jar之类
test
Y
Junit
provided Y Y
tomcat上就有的jar
runtime
Y Y jdbc驱动
system Y Y

provided表示你在开发是需要但是不需要打包到war里(部署到tomcat不需要)

compile表示都需要,如果把本该是provided的jar弄成compile那就有可能jar包冲突了

不过test或runtime写成compile一般没啥问题(test本身只是测试时用到但是放到tomcat也没啥只是时项目变得笨重,runtime就不用说了吧【他本身运行时就需要】)

maven打war包(这个部分我一直用个办法网上貌似还有其他方法)

先clean一下:

项目右键选run或者debug也行然后选clean

然后就重复上一步选install就ok(默认是在你项目空间里面,同时会复制一份到你maven存放jar包处group id名里)

Building war: E:\javaprog1\ssh\target\ssh-0.0.1-SNAPSHOT.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ ssh ---
[INFO] Installing E:\javaprog1\ssh\target\ssh-0.0.1-SNAPSHOT.war to C:\Users\Administrator.ZX-201701081730\.m2\repository\com\1024gd\ssh\0.0.1-SNAPSHOT\ssh-0.0.1-SNAPSHOT.war
[INFO] Installing E:\javaprog1\ssh\pom.xml to C:\Users\Administrator.ZX-201701081730\.m2\repository\com\1024gd\ssh\0.0.1-SNAPSHOT\ssh-0.0.1-SNAPSHOT.pom

这个是控制台反馈的信息

猜你喜欢

转载自blog.csdn.net/qq_34299694/article/details/80993190