将依赖打入jar包,由于maven管理了所有的依赖,所以将项目的代码和依赖打成一个包对它来说是顺理成章的功能。maven的这个功能之前就用过,但这次使用时忘了细节,只记得用maven的assembly插件,但assembly插件功能强大,可以打zip、war各种包,所以一下子找不到如何将依赖打入jar包了。浪费了一点时间,所以一定要记录一下。
在pom.xml中加入如下配置即可,关键是configuration-descriptorRefs-descriptorRef,这个就表示要将依赖打入jar包。
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass></mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
例如要安装这样一个依赖到maven本地仓库:
1.将此依赖添加到项目的pom.xml
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>3.0</version>
</dependency>
2.在命令行中执行install命令
mvn install:install-file -Dfile=sqljdbc4-3.0.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=3.0 -Dpackaging=jar
3.将sqljdbc4-3.0.jar拷贝到此依赖安装目录
将sqljdbc4-3.0.jar拷贝到X:Documents and Settings\%USER%.m2
epositorycommicrosoftsqlserversqljdbc43.0 中即可.