问题描述: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错误。web
问题解决:tomcat
maven项目的jar包都是经过maven机制进行管理的,本身经过build path将jar引进去,写代码时没问题,可是调试或者发布就会出现问题,解决办法就是将该包也是利用maven的方式引入项目中,解决方式有两种:微信
将gdal.jar包上传到公司的maven私服上,而后配置路径app
若是没有maven私服,能够直接经过文件方式引入该jar包,在pom.xml中添加该jar包的引用eclipse
1
2
3
4
5
6
7
|
<
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类属性:webapp
内置属性(Maven预约义,用户能够直接使用)maven
${basedir}表示项目根目录,即包含pom.xml文件的目录;学习
${version}表示项目版本;ui
${project.basedir}同${basedir};
${project.baseUri}表示项目文件地址;
${maven.build.timestamp}表示项目构件开始时间;
${maven.build.timestamp.format}表示属性${maven.build.timestamp}的展现格式,默认值为yyyyMMdd-HHmm,可自定义其格式,其类型可参考java.text.SimpleDateFormat。
另外两种方式
方式1:编译阶段指定外部lib
1
2
3
4
5
6
7
8
9
10
11
12
|
<
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包所在路径,执行如下命令
引入依赖
1
2
3
4
5
|
<
dependency
>
<
groupId
>com.hope.cloud</
groupId
>
<
artifactId
>cloud</
artifactId
>
<
version
>1.0</
version
>
</
dependency
>
|
以上就是本文的所有内容,但愿对你们的学习有所帮助,也但愿你们多多支持脚本之家。
您可能感兴趣的文章:
原文连接:http://blog.csdn.net/pltuyuhong/article/details/50954017

微信公众号搜索 “ 脚本之家 ” ,选择关注
业界资讯、不按期红包、送书等活动等着你