[maven加入aws(com.amazonaws)依赖失败的处理办法][既使用maven又使用lib下的Jar包]

最近的项目中要添加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 >


转自http://www.cfei.net/archives/535

你可能感兴趣的:(java)