maven install成war文件的话 自动把关联的jar包放在libs文件夹中。
但是install成jar文件的话不会包含关联的jar。
请问有什么办法解决吗?
首先设置依赖项,这样maven就会把该路径下的jar包导入项目引用
DPSDK-Manager
DPSDK-Manager
0.2.1
system
${project.basedir}/libs/DPSDK-Manager-0.2.1.jar
设置好后会发现library下面,maven dependencies中已经出现本地jar包了,这样就可以在项目中调用本地jar包了
2、设置maven-war-plugin打包插件,让maven在导出war包时把设置好的路径下的文件打进war包
org.apache.maven.plugins
maven-war-plugin
${project.basedir}/libs
WEB-INF/libs
true
**/*.jar
设置好后再执行mvn clean package命令就会将指定路径下的文件打进war包
假设你有需要把common关联,先把common打成jar包,点击右边侧边菜单栏,common->Lifecycle->clean,点右键菜单create common,出现Run Configuration子菜单,Command Line填写:clean install -X -f pom.xml;
建议使用 assembly
maven-assembly-plugin和fatjar两种方式的都可以,建议maven-assembly-plugin
maven install 改成maven clean install效果更好
war包含需要的jar,所以首次发布到tomcat都要打war包
install生成jar与war里lib的jar是平级的,相当于 你的项目install的jar=你引用的jar(只是一个是你的一个是你引用了人家的),
解决办法:获取项目的引用jar就打war包然后用解压软件找到lib,把lib下的其他jar取出来