-
mvn打包命令
# build.sh mvn clean package -Dcheckstyle.skip=true -DskipTests
- 注意:Maven中
-DskipTests
和-Dmaven.test.skip=true
都是跳过测试用例。
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
- 注意:Maven中
-
启动java服务
# start.sh echo "Starting..." app_memory_size=4096 java -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m \ # 元空间最小值、元空间最大值 -Xms${app_memory_size}m -Xmx${app_memory_size}m \ # 最小堆内存、最大堆内存 -Xmn2731m \ # 年轻代大小 -Xss1024k \ # 栈内存大小。设置单个线程栈大小,一般默认512kb~1024kb。 -XX:SurvivorRatio=8 \ # 幸存者比例 -XX:+UseConcMarkSweepGC \ # 对老生代采用并发标记交换算法进行GC -verbose:gc \ # 输出每次GC的相关情况 -Xloggc:/tmp/gc-%t.log \ # 将每次GC事件的相关情况记录到一个文件中。文件名是“gc-时间戳.log” -XX:+PrintGCDetails \ # 打印GC详细信息 -XX:+PrintGCDateStamps \ # 打印GC时间,使用的是系统时间 -XX:+PrintGCTimeStamps \ # 打印GC时间,使用的是JVM启动到GC时的相对时间 -XX:+UseGCLogFileRotation \ # 设置使用GC日志 -XX:NumberOfGCLogFiles=10 \ # GC日志文件最多生成10个,使用Xloggc指定的名字,默认名字是gc.log.0、gc.log.1、gc.log.2 ..., -XX:GCLogFileSize=100M \ # 每个GC日志文件最多100M -XX:+HeapDumpOnOutOfMemoryError \ # 当首次遭遇OOM时导出此时堆中相关信息 -XX:HeapDumpPath=/tmp/heapdump.hprof \ # 指定导出堆信息时的路径或文件名 -XX:OnOutOfMemoryError="sh ~/test.sh" \ # 当首次遭遇OOM时执行自定义命令 -jar xxx.jar
-
启动java服务
java -jar xxx.jar
-
启动java服务,将日志追加到文本文件
java -jar xxx.jar > log.txt 2>&1 &
-
启动java服务使其后台运行,并将日志追加到文本文件
nohup java -jar xxx.jar > log.txt 2>&1 &
-
停止java服务
# stop.sh #!/bin/bash function stop() { echo "Stopping..." boot_id=`ps -ef |grep java|grep xxx.jar|grep -v grep|awk '{print $2}'` count=`ps -ef |grep java|grep xxx.jar|grep -v grep|wc -l` if [ $count != 0 ];then kill -9 $boot_id echo "Stop java pid: "$boot_id else echo "java Already Stop" fi } stop
- 后台执行脚本
nohup ./script_name.sh 2>&1 > /dev/null &