欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

maven项目引用外部jar包的方法

时间:2021-05-31 08:23:03|栏目:JAVA代码|点击:

问题描述:

有一个java maven web项目,需要引入一个第三方包gdal.jar,但是这个包是自己打包的,在maven中央库里面找不到该包,因此我采用传统的方式,将这个包拷贝到:项目名称\src\main\webapp\WEB-INF\lib的目录下,然后通过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。

另外两种方式

方式1:编译阶段指定外部lib

   <plugin>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>2.3.2</version>
   <configuration>
   <source>1.8</source>
   <target>1.8</target>
   <encoding>UTF-8</encoding>
   <compilerArguments>
   <extdirs>lib</extdirs><!--指定外部lib-->
   </compilerArguments>
   </configuration>
   </plugin>

方式2:将外部jar打入本地maven仓库

cmd 进入jar包所在路径,执行以下命令

复制代码 代码如下:
mvn install:install-file -Dfile=cloud.jar -DgroupId=com.hope.cloud -DartifactId=cloud -Dversion=1.0 -Dpackaging=jar

引入依赖

  <dependency>
  <groupId>com.hope.cloud</groupId>
  <artifactId>cloud</artifactId>
  <version>1.0</version>
  </dependency>

上一篇:java动态代理和cglib动态代理示例分享

栏    目:JAVA代码

下一篇:通过实例了解java spring使用构造器注入的原因

本文标题:maven项目引用外部jar包的方法

本文地址:http://www.codeinn.net/misctech/132144.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有