maven 使用本地包 lib jar包 依赖一个lib目录
解决方法:
1. 把本地的lib加入maven编译时的依赖路径
如下配置:
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>lib/</extdirs> </compilerArguments> </configuration> </plugin>
2. 本地system 配置
这种的不好处是,只能加入某个jar包而不是某个目录
<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>
3. 把jar包安装入本地仓库
- 先安装jar包到本地仓库
- 引用安装的jar包
注意: 正规maven的方法,要求jar包中有合法的 artifactId信息
<repository> <id>repo</id> <releases> <enabled>true</enabled> <checksumPolicy>ignore</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> </snapshots> <url>file://${project.basedir}/repo</url> </repository>
4. 使用install 插件 (推荐使用)
配置如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <executions> <execution> <id>install-external</id> <phase>clean</phase> <configuration> <file>${basedir}/lib/app-0.0.1.jar</file> <repositoryLayout>default</repositoryLayout> <groupId>com.dalong.locallib</groupId> <artifactId>appbanner</artifactId> <version>0.0.1</version> <packaging>jar</packaging> <generatePom>true</generatePom> </configuration> <goals> <goal>install-file</goal> </goals> </execution> </executions> </plugin>
5. 使用命令
mvn install:install-file -Dfile=D:/jar/xxx.jar -DgroupId=xxx.xxx -DartifactId=xxx -Dversion=x.x -Dpackaging=jar