java项目tar.gz_java,maven工程打tar.gz包执行main方法

一、需要在pom.xml文件添加plugin

项目目录结构

e141cee0bce7fed8d946944ece2eea36.png

pom.xml

1

2

3

4

5 maven-assembly-plugin

6 2.6

7

8

9

10 src/assembly/assembly.xml

11

12 ${project.name}-${project.version}

13

14 false

15

16

17

18 make-assembly

19

20 package

21

22 single

23

24

25

26

27

28

29

bin下是启动脚本,conf下是配置文件,里面可以配置脚本参数

二、assembly配置

如下:还有很多配置可以参考官网:http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html

1

9

10 assembly

11

12 tar.gz

13

14 true

15

16

17 src/assembly/bin

18 bin

19

20

21

22 src/assembly/conf

23 conf

24

25

26

35

36

37

38 lib

39

40

41

三、start.sh的脚本,

只需改动启动的main方法的路径即可 :com.topsec.sic.collector.urlProbe.HeadlessChromeTest

会输出日志logs,可以查看logs里的日志文件判断main方法是否执行!

1 #!/bin/bash2 cd `dirname $0`3 BIN_DIR=`pwd`4 cd ..5 DEPLOY_DIR=`pwd`6 CONF_DIR=$DEPLOY_DIR/conf7

8 SERVER_NAME=`sed '/application.host.name/!d;s/.*=//' conf/config.properties | tr -d '\r'`9

10 LOGS_DIR=$DEPLOY_DIR/logs11 if [ ! -d $LOGS_DIR ]; then12 mkdir $LOGS_DIR13 fi14 STDOUT_FILE=$LOGS_DIR/stdout.log15

16 LIB_DIR=$DEPLOY_DIR/lib17 LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"`18

19 JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Duser.timezone=Asia/Shanghai "

20 JAVA_DEBUG_OPTS=""

21 if [ "$1" = "debug"]; then22 JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "

23 fi24 JAVA_JMX_OPTS=""

25 if [ "$1" = "jmx"]; then26 JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "

27 fi28 JAVA_MEM_OPTS=""

29 BITS=`java -version 2>&1 | grep -i 64-bit`30 if [ -n "$BITS"]; then31 # JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "

32 JAVA_MEM_OPTS=" -server -Xmx512m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "

33 else

34 # JAVA_MEM_OPTS=" -server -Xms1g -Xmx1g -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "

35 JAVA_MEM_OPTS=" -server -Xms256m -Xmx256m -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "

36 fi37

38 echo -e "Starting the $SERVER_NAME ...\c"

39 # nohupjava $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.topsec.trd.scanner.leack.check.Main > $STDOUT_FILE 2>&1 &

40 java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.topsec.sic.collector.urlProbe.HeadlessChromeTest > $STDOUT_FILE 2>&1

41

42 COUNT=0

43 while [ $COUNT -lt 1 ]; do

44 echo -e ".\c"

45 sleep 1

46

47 COUNT=`ps -ef | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`48

49 if [ $COUNT -gt 0]; then50 break

51 fi52 done53

54 echo "OK!"

55 PIDS=`ps -ef | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`56 echo "PID: $PIDS"

57 echo "STDOUT: $STDOUT_FILE"

关于nohup的用法可参考https://www.cnblogs.com/jinxiao-pu/p/9131057.html  ,使命令永久的在后台执行。

四、上传文件到服务器,执行脚本

使用idea点击clean,package打包,在target目录下生成sic-probe-chromProbe-assembly.tar,将文件上传到服务器,执行命令:tar -zxvf sic-probe-chromProbe-assembly.tar.gz解压,解压后的目录结构如下:

1 drwxr-xr-x 6 sqy root 48 May 9 17:31 sic-probe-chromProbe2 -rw-r--r-- 1 sqy root 34145112 May 9 17:30 sic-probe-chromProbe-assembly.tar.gz3 [root@node105 prep-url-sqy]# cd sic-probe-chromProbe4 [root@node105 sic-probe-chromProbe]# ll5 total 4

6 drwxr-xr-x 2 sqy root 21 May 9 11:35bin7 drwxr-xr-x 2 sqy root 30 May 9 17:00conf8 drwxr-xr-x 2 sqy root 4096 May 9 17:30 lib

bin下就是启动脚本,需要注意的是,脚本只有读写权限,需要执行chmod命令给脚本加上执行权限

1 -rw-r--r-- 1 root root 2534 May 9 11:35start.sh2 [root@node105 bin]# chmod 755start.sh3 [root@node105 bin]# ll4 total 4

5 -rwxr-xr-x 1 root root 2534 May 9 11:35 start.sh

启动脚本查看日志就行了

1 $ ./start.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值