一、maven打包jar到本地仓库
1.首先保证有maven环境,可在cmd命令下输入mvn查看:mvn -version 查看版本

2.在cmd命令输入如下命令:
mvn install:install-file -Dfile=D:\java\sso\sso-client\target\sso-client-0.0.1-SNAPSHOT.jar -DgroupId=com.client.www -DartifactId=sso-client -Dversion=1.0.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
3.说明:
D:\java\sso\sso-client\target\sso-client-0.0.1-SNAPSHOT.jar:jar包所在位置
com.client.www:jar在仓库位置
sso-client :jar包在仓库名称
1.0.0:jar包在仓库版本信息
二、maven将依赖的包一起打包jar
使用maven插件,在pom.xml中添加下面插件:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4.1</version> <configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs> <!-- MainClass in mainfest make a executable jar -->
<archive> <manifest> <mainClass>util.Microseer</mainClass> </manifest> </archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- bind to the packaging phase -->
<phase>package</phase> <goals> <goal>single</goal> </goals>
</execution>
</executions>
</plugin>
然后使用maven命令进行install跳过测试打包
install -Dmaven.test.skip=true
在target文件夹下有两个jar包,一个是包含依赖包的jar,以jar-with-dependencies结尾,如:
sso-client-0.0.1-SNAPSHOT-jar-with-dependencies.jar
另一个是不包含依赖的jar:sso-client-0.0.1-SNAPSHOT.jar
三、maven打包成windows或者linux可执行文件(.bat或.sh)
1.在pom.xml中添加以下配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<repositoryLayout>flat</repositoryLayout>
<configurationDirectory>conf</configurationDirectory>
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<!--生成的项目的目录位置,这里的sso-client是项目的名称,你可以根据你的需要自己随便命名-->
<assembleDirectory>${project.build.directory}/sso-client</assembleDirectory>
<!--java启动参数-->
<extraJvmArguments>-Xms128m</extraJvmArguments>
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
<platforms>
<platform>windows</platform>
<platform>unix</platform>
</platforms>
<!--依赖的jar将放在lib目录下-->
<repositoryName>lib</repositoryName>
<programs>
<program>
<!--指定主类,脚本名。会生成shell/bat两种类型,也可用platforms指定运行平台-->
<mainClass>com.client.Application</mainClass>
<!-- 生成的脚本文件的名称,比如start.sh,你也可以根据你的需要命名成其他名字 -->
<name>start</name>
</program>
</programs>
</configuration>
</plugin>
注意:上面的插件plugin放在plugins标签内:
<build>
<plugins>
...
</plugins>
</build>
2.使用maven命令打包:
mvn clean package appassembler:assemble
3.打包完成以后可在target/sso-client/bin目录下找到.bat和.sh文件,在target/sso-client/lib目录下存放依赖的jar包
4.可直接拷贝target目录下的sso-client文件进行使用,windows直接点击sso-client/bin目录下的start.bat文件进行启动,linux系统下可在bin目录下执行下面命令进行后台启动:
nohup ./start.sh &
关注我的微信公众号获取更多资源

本文详细介绍了使用Maven进行各种打包操作的方法,包括将jar包安装到本地仓库、打包带有依赖的可执行jar、以及生成Windows和Linux的可执行文件。通过配置不同的Maven插件,可以轻松实现这些功能。
344

被折叠的 条评论
为什么被折叠?



