背景及问题现象
公司Nexus服务器被Reboot了,重启后,Neuxs伺服器无法启动。
使用.nexus start命令后,显示Nexus启动成功,但是访问Web页面后Nexus进程就停了。
问题查询
查询$NEXUS_HOME/logs/wrapper.log日志,找到如下报错日志:
nexus报错Unable to start JVM: No such file or directory (2)
该错误是因为低版本JDK无法加载高版本JDK引发的。NEXUS新版本要求:
- Nexus的2.6版本及其以后版本使用的Java的jdk7.
- Nexus的2.0-2.5版本
- 使用Java的jdk6的update30版本及其以后的jdk6版本
- 使用Java的jdk7的update2版本及其以后jdk7版本
解决方案
切换服务器JDK,发现$JAVAHOME本身就是JDK1.7了。只好去修改NEXUS的配置了,去$NEXUSHOME/bin/jsw/config目录修改wrapper.conf文件。 找到:
# Set the JVM executable
# (modify this to absolute path if you need a Java that is not on the OS path)
wrapper.java.command=/usr/java/jdk1.7.0_60/bin/java
设置wrapper.java.command=改为绝对路径指定JVM程序。windows下要指定为java.exe 再次启动,成功。
注意,启动完毕最好去wrapper.log下看下启动日志,因为JVM启动失败,只用NEXUS start命令是看不出来的。