自己写的一段代码如何打包成jar文件让其他项目进行调用?以下操作均基于maven工程。
1.默认要打包的java文件基于maven工程创建且测试可行;
2.修改pom.xml文件,增加以下内容:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<mainClass>com.sjsk.amq.Amq</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
其中,将mainClass改为自己工程的主类,其他内容不变,并保存;
3.从CMD进入该工程的当前目录,执行以下命令:
mvn assembly:assembly
如果想要忽略测试,以上命令改为:
mvn assembly:assembly -DskipTests
命令执行完毕,看到“BUILD SUCCESS”字样,则说明创建成功;
4.此时在目录target中会看到如下几个文件:
此时说明jar包已生成,其中有后缀-with-dependencies的jar包是包含依赖包的,没有该后缀的jar不包含依赖包;
5.在CMD控制台中执行以下命令,将jar包定制到maven的本地资源库:
mvn install:install-file -Dfile={jarPath}/{jarName}.jar -DgroupId={groupId} -DartifactId={artifactId} -Dversion={jarVersion} -Dpackaging=jar
例如:
mvn install:install-file -Dfile=D:\workspace\amq\target\amq-0.0.1-SNAPSHOT-jar-with-dependencies.jar -DgroupId=com.sjsk -DartifactId=amq -Dversion=0.0.1 -Dpackaging=jar
此时看到“BUILD SECCESS”,说明定制成功;
6.在新工程的pom.xml中,加入以下内容:
<dependency>
<groupId>com.sjsk</groupId>
<artifactId>amq</artifactId>
<version>0.0.1</version>
</dependency>
即可在新工程的java文件中调用。