概述
项目开发过程中原来是传统的web工程,现在要改成maven的方式进行开发,存在原来很多老的jar包,不过只是临时编译maven项目用到(当然,并不建议这样操作),所以才用了scope为system的方式引入:
<dependency>
<groupId>com.inspur.bigdata</groupId>
<artifactId>lousing-framework</artifactId>
<version>7.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/webharvest.jar</systemPath>
</dependency>
但是这也存在着一些问题,当我们打包的时候,不能把scope为system的打到war包中,以下为scope作用范围有5种:
* compile,缺省值,适用于所有阶段,会随着项目一起发布。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
可以看出除了以上几个scope的值种只有compile是随项目一起发布的,我们解决想把其他的也发布到war包里的方法如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>WEB-INF/lib</targetPath>
<filtering>true</filtering>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
最后
以上就是舒心缘分为你收集整理的maven打包其他目录文件到war包的全部内容,希望文章能够帮你解决maven打包其他目录文件到war包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复