天天看点

linux下jar包里的类反射_服务器模拟真实发布jar包等各种问题

在实际生产环境中,我们是不能触碰到服务器的,只能通过SSH等手段进行远程连接,通过网络传输进行内存cpu日志等查看工作,通过对其分析,再定位代码部分的问题,那这么jar包是如何运行到服务器上的?JVM堆栈的设置又是什么?日志输出查看又是什么?这就是十分真实的生产环境下的工作。

1通过Maven将SpringBoot打成Jar包

在本机已经测试好代码后,首先在pom.xml文件中添加

<build>        <plugins>            <plugin>                <groupId>org.springframework.bootgroupId>                <artifactId>spring-boot-maven-pluginartifactId>            plugin>        plugins>    build>
           

在IDE中点击Maven的package进行自动打包

linux下jar包里的类反射_服务器模拟真实发布jar包等各种问题

就会在项目目录下生成一个target目录,里面有一个xxxx.jar包

linux下jar包里的类反射_服务器模拟真实发布jar包等各种问题

2

将Jar包放置Linux服务器

可以通过xftp这类网络文件传输工具,进行远程连接Linux服务器后将Jar包传输到远程服务器.

3Linux服务器上开启SpringBoot服务

手动开启方法:

  1. 找到Jar包所在的目录
  2. 通过 java -jar xxx.jar > consoleMsg.out & 让日志输出到consoleMsg.out文件中 & 表示后台运行,这样正在使用的shell就不会被占用掉
  3.  通过 ps aux|grep xxx 可以看到正在运行的Java服务和占用的端口以及PID

4

杀掉进程和重启进程

在很多时候我们需要强杀掉进程并重启该服务

  1. ps aux | grep xxx.jar 可以得到该进程的PID
  2. kill -9 PID 进行进程强杀
  3. java -jar xxx 重新手动启动

5

设置JVM堆栈大小

可以通过命令行shell启动Jar包的时候手动进行设置

java -jar -Xmx1024M -Xms256M spring-boot-01-1.0-SNAPSHOT

-Xmx 表示JVM最大的内存

-Xms 表示JVM初始内存

linux下jar包里的类反射_服务器模拟真实发布jar包等各种问题

END