由于有些Jar包不是开源的,在maven remote repositories找不到相应的包,所以得通过自有的Jar包在local repositories中添加jar。然后在pom.xml中添加相应的dependency,就能用本地的jar了。
首先,在本地在添加Jar,它的格式为:
- mvn install:install-file
- -Dfile=<path-to-file>
- -DgroupId=<group-id>
- -DartifactId=<artifact-id>
- -Dversion=<version>
- -Dpackaging=<packaging>
- -DgeneratePom=true
- Where: <path-to-file> the path to the file to load
- <group-id> the group that the file should be registered under
- <artifact-id> the artifact name for the file
- <version> the version of the file
- <packaging> the packaging of the file e.g. jar
然后将相应的jar拷到对应的目录下,在pom.xml文件中添加相应的denpendency,它的格式为:
- <dependency>
- <groupId>group-a</groupId>
- <artifactId>artifact-a</artifactId>
- <version>1.0</version>
- </dependency
下面提供一个样例,这里我要用到weblogic,本地有自有weblogic.jar,如是,
1.
- mvn install:install-file
- -Dfile=D:\lib\weblogic.jar
- -DgroupId=weblogic
- -DartifactId=weblogic
- -Dversion=10.3
- -Dpackaging=jar
- -DgeneratePom=true
将weblogic.jar拷到C:\Documents and Settings\s\.m2\repository\weblogic\weblogic路径下。
2.
- <dependency>
- <groupId>weblogic</groupId>
- <artifactId>weblogic</artifactId>
- <version>10.3</version>
- </dependency>
然后在当前pom.xml路径下运行mvn package.
但奇怪的是编译不通过,出现如下错误:
Could not resolve dependencies for project com.sx.teest1:test1:jar:1.0-SNAPSHOT: Failure to find weblogic:weblogic:jar:10.3 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
在网上找了很久是update机制的问题,但是在.setting.xml文件后还是出现同样的错,苦思不得其解,然后比较了denpendency能使用的jar和这个denpendency的不同之处,最后发现刚才拷过来的jar没有相应的改文件名,这里由于刚才install的是10.3版本的jar,所以weblogic.jar应该改为weblogic-10.3.jar,改了之后再次运行就能通过了。看来还是自己粗心大意了。拷jar包的时候一定要相应的改jar包的名字。
另外还发现在Install的时候文件路径名不要有空格,否则会出现一些诡异的错误会让你崩溃的!