最近为了测试一个服务接口,需要在内网环境测试,于是吧服务打包放上去,发现提示jdk版本不对,于是下了一个linux版的jdk8 放上去解压,用指定jdk版本的方式去启动我这个微服务jar,但是没有反应,于是测试java -version 发现目前版本还是jdk7的,于是尝试配置一下环境变量,把原来的配置备份一下。
//修改环境变量
vi /etc/profile
//使之重新生效
source /etc/profile
然后就可以用命令启动如下:
nohup java -jar emap-config-main-1.0.0.jar >nohup.out 2>&1 &
到这里还遇到了一个问题,就是我在查看日志启动情况的时候,发现提示xxx.jar包中没有主清单属性,如下(网络图)
查下资料发现
主清单属性是jar包中MANIFEST.MF文件中的一个属性,MANIFEST.MF文件位于jar包的META_INF路径下
于是自己查看下里面的配置:类似下面
打开MANIFEST.MF文件,里面有如下属性:
Manifest-Version: 1.0
Implementation-Title: com.imooc
Implementation-Version: 1.0-SNAPSHOT
Archiver-Version: Plexus Archiver
Built-By: liu
Implementation-Vendor-Id: com.zh
Created-By: Apache Maven 3.6.3
Build-Jdk: 1.8.0_111
Implementation-URL: http://www.example.com
Implementation-Vendor: Pivotal Software, Inc.
再贴一个正常的MANIFEST.MF:
Manifest-Version: 1.0
Implementation-Title: common
Implementation-Version: 0.0.1-SNAPSHOT
Spring-Boot-Version: 2.1.5.RELEASE
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.zh.common.management.CommonApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Build-Jdk-Spec: 1.8
Created-By: Maven Archiver 3.4.0
我的解决方法是在pom文件里添加依赖,如下:重新update,然后再clean,install即可
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后用命令启动服务就可以正常运行了。参考:连接 ,它的文章里提供的依赖经测试不好使,不过解释的很好,建议用上面我这个。