maven项目打jar包及本地化仓库安装

来源:互联网 发布:凯立德3.0端口修改器 编辑:程序博客网 时间:2024/05/18 00:53
自己写的一段代码如何打包成jar文件让其他项目进行调用?以下操作均基于maven工程。

将jar包安装到本地仓库

mvn install:install-file -DgroupId=cn.vicky.reddwarf -DartifactId=sgs-server-api -Dversion=0.10.1 -Dpackaging=jar -Dfile=F:/reddwarf-0.10.1/sgs-server-api-0.10.1.jar 
<dependency>      <groupId>cn.vicky.reddwarf</groupId>      <artifactId>sgs-server</artifactId>      <version>0.10.1</version>  </dependency> 

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
其中,将mainClass改为自己工程的主类,其他内容不变,并保存;

3.从CMD进入该工程的当前目录,执行以下命令:

mvn assembly:assembly
  • 1
  • 1
如果想要忽略测试,以上命令改为:
mvn assembly:assembly -DskipTests
  • 1
  • 1
命令执行完毕,看到“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
  • 1
  • 1
例如:
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
  • 1
  • 1
此时看到“BUILD SECCESS”,说明定制成功;

6.在新工程的pom.xml中,加入以下内容:

<dependency>    <groupId>com.sjsk</groupId>    <artifactId>amq</artifactId>    <version>0.0.1</version></dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

即可在新工程的java文件中调用。

0 0