Maven打包生成jar包并在linux下启动main方法

pom.xml中添加配置

     <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <!--这部分可有可无,加上的话则直接生成可运行jar包-->
                    <!--<archive>-->
                        <!--<manifest>-->
                            <!--<mainClass>${exec.mainClass}</mainClass>-->
                        <!--</manifest>-->
                    <!--</archive>-->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
       </plugin>

然后通过项目右键-Run As-Maven build 在Goals中输入 clean assembly:assembly

也可以通过cmd进入当前项目的目录下运行mvn assembly:assembly

执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.

 

.如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.

  • 找到assembly在本地的地址,一般是
    c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4
  • 用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml
  • 把里面的UNPACK改成FALSE即可
  •  

2linux下启动项目中的main方法

java -cp *: org.jim.server.demo.ImServerDemoStart  后面的为项目中main方法所在的类    

3生成脚本

appName=jim
libDir=../lib/*
logOut=../log/jim.log

java=$JAVA_HOME/bin/java
pid=`ps -ef | grep $appName | grep -v grep | awk '{print $2}'`
if [ x"$pid" != x ]
then
    echo pid $pid running...
    sleep 1
    echo do kill $pid...
    kill $pid
else
    echo no programs running!
fi

sleep 1

echo start ${appName}...

mainClass=org.jim.server.demo.ImServerDemoStart

nohup \
$java -cp $libDir \
$mainClass \
>> $logOut 2>&1 &

sleep 1

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值