maven项目引用外部jar

问题描述:

有一个java maven web项目,需要引入一个第三方包gdal.jar,但是这个包是自己打包的,在maven中央库里面找不到该包,因此我采用传统的方式,

将这个包拷贝到:项目名称srcmainwebappWEB-INFlib的目录下,然后通过config build path将该gdal.jar包引入到项目工程中。对于传统java web项目,

这么做当然没有问题,但是对于maven项目,项目打包(mvn install)时就会报错,在项目调试时(debug on server)也会出现文件发布不全的问题:

tomcat的webapp目录下有该项目,但是里面文件不全,通过web访问时就会404错误。

问题解决:

maven项目的jar包都是通过maven机制进行管理的,自己通过build path将jar引进去,写代码时没问题,但是调试或者发布就会出现问题,解决办法就是将该包也是利用maven的方式引入项目中,解决方式有两种:

将gdal.jar包上传到公司的maven私服上,然后配置路径

如果没有maven私服,可以直接通过文件方式引入该jar包,在pom.xml中添加该jar包的引用

<dependency>  
    <groupId>gdal</groupId>  
    <artifactId>gdal</artifactId>  
    <version>1.0.0</version>  
    <scope>system</scope>  
    <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gdal.jar</systemPath>  
</dependency> 

其中project.basedir为maven内置属性,共有6类属性:

内置属性(Maven预定义,用户可以直接使用)

${basedir}表示项目根目录,即包含pom.xml文件的目录;

${version}表示项目版本;

${project.basedir}同${basedir};

${project.baseUri}表示项目文件地址;

${maven.build.timestamp}表示项目构件开始时间;

${maven.build.timestamp.format}表示属性${maven.build.timestamp}的展示格式,默认值为yyyyMMdd-HHmm,可自定义其格式,其类型可参考java.text.SimpleDateFormat。
————————————————

笔者配置如下:

 <dependency>
   <groupId>org.netbeans</groupId>
   <artifactId>boot</artifactId>
   <version>1.0.0</version>
   <scope>system</scope>
   <systemPath>${project.basedir}/thirdparty/boot.jar</systemPath>
 </dependency>


版权声明:本文为CSDN博主「qq_16570607」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_16570607/java/article/details/78791527

本博客文章绝大多数为原创,少量为转载,代码经过测试验证,如果有疑问直接留言或者私信我。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。
原文地址:https://www.cnblogs.com/passedbylove/p/13337462.html