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