最近的项目中要添加aws-java-sdk-1.5.5.jar的依赖,去http://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk/1.5.5找了dependency,但写在pom.xml里的时候,远程下载依赖失败了,比较悲催。
1
2
3
4
5
|
<
dependency
>
<
groupId
>com.amazonaws
groupId
>
<
artifactId
>aws-java-sdk
artifactId
>
<
version
>1.5.5
version
>
dependency
>
|
update了几次还是不行啊,没办法只能让maven去找项目lib里的依赖了,这样省事点,主要步骤是:
1、将aws-java-sdk-1.5.5.jar包拷贝到项目的lib目录下
2、在pom.xml里写上找lib目录jar包的配置,如下:
1
2
3
4
5
6
7
8
9
|
<
dependencies
>
<
dependency
>
<
groupId
>com.amazonaws
groupId
>
<
artifactId
>aws-java-sdk
artifactId
>
<
version
>1.5.5
version
>
<
scope
>system
scope
>
<
systemPath
>${basedir}/src/main/webapp/WEB-INF/lib/aws-java-sdk-1.5.5.jar
systemPath
>
dependency
>
dependencies
>
|
以上的配置即可实现添加这个jar包的依赖,本来想试下plugin的方式将整个lib目录添加到maven依赖的,但没成功。
网上的方法:
既使用maven又使用lib下的Jar包
maven 使用本地包 lib jar包 依赖一个lib目录
解决方法:
# 把本地的lib加入maven编译时的依赖路径
From:http://blog.chinaunix.net/uid-23173926-id-2942789.html
有些项目的jar包不是在maven服务器上能够下载的,那么需要将这样的包放在项目的lib目录下,
不过这样会导致maven打包时找不到包,报错。可以通过下面的配置解决这个问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<
build
>
<
plugins
>
<
plugin
>
<
artifactId
>maven-compiler-plugin
artifactId
>
<
configuration
>
<
source
>1.6
source
>
<
target
>1.6
target
>
<
encoding
>UTF-8
encoding
>
<
compilerArguments
>
<
extdirs
>src\main\webapp\WEB-INF\lib
extdirs
>
compilerArguments
>
configuration
>
plugin
>
plugins
>
build
>
|
上面解决maven编译问题,下面还需要解决IntelliJ编译问题
File > Project Structure > Libraries > New Project Library > … > Attach Jar Directories
# 把某个jar包加入maven寻找的路径
From stackoverflow:http://stackoverflow.com/questions/364114/can-i-add-jars-to-maven-2-build-classpath-without-installing-them
1
2
3
4
5
6
7
|
<
dependency
>
<
groupId
>org.swinglabs
groupId
>
<
artifactId
>swingx
artifactId
>
<
version
>0.9.2
version
>
<
scope
>system
scope
>
<
systemPath
>${project.basedir}/lib/swingx-0.9.3.jar
systemPath
>
dependency
>
|
这种的不好处是,只能加入某个jar包而不是某个目录。
#把jar包安装入本地仓库
注意:正规maven的方法,要求jar包中有合法的artifactId信息
- 先安装jar包到本地仓库
- 引用安装的jar包
- 批量小工具,批量安装jar包到本地仓库
1
2
3
4
5
6
7
8
9
10
11
|
<
repository
>
<
id
>repo
id
>
<
releases
>
<
enabled
>true
enabled
>
<
checksumPolicy
>ignore
checksumPolicy
>
releases
>
<
snapshots
>
<
enabled
>false
enabled
>
snapshots
>
<
url
>file://${project.basedir}/repo
url
>
repository
>
|