Sonatype Nexus 服务启动失败问题解决
问题前述: 近日在开发机本机安装了 Oracle 数据库快捷版 11g2 之后,重启电脑后发现本机的maven代理服务无法访问。
现象
-
通过 Windows 服务窗口启动nexus 服务,失败(报1067错误)
-
通过命令窗口执行
nexus start
失败,重新安装服务后再次执行后依然错误
- 通过命令窗口执行
%NEXUES_HOME%injswwindows-x86-64console-nexus.bat
脚本,nexus服务正常启动了!!
这个时候想到之前安装MySQL时,服务无法启动报1067错误几乎都是配置不正确(多半是路径配置不对)
在查看了nexus 启动脚本后,发现了以下两个文件:
%NEXUES_HOME%injswconfwrapper.conf
%NEXUES_HOME%logswrapper.log
服务启动日志
wrapper.log
文件中提示信息表明可能是找不到JDK...
wrapper | Starting the nexus service...
wrapper | --> Wrapper Started as Service
wrapper | Launching a JVM...
wrapper | Unable to execute Java command. 系统找不到指定的文件。 (0x2)
wrapper | "java" -XX:MaxPermSize=192m -Djava.io.tmpdir=./tmp -Djava.net.preferIPv4Stack=true -Dcom.sun.jndi.ldap.connect.pool.protocol="plain ssl" -Xms256m -Xmx768m -Djava.library.path="bin/jsw/lib" -classpath "bin/jsw/lib/wrapper-3.2.3.jar;./lib/javax.servlet-3.0.0.v201112011016.jar;./lib/jetty-client-8.1.16.v20140903.jar;./lib/jetty-continuation-8.1.16.v20140903.jar;./lib/jetty-deploy-8.1.16.v20140903.jar;./lib/jetty-http-8.1.16.v20140903.jar;./lib/jetty-io-8.1.16.v20140903.jar;./lib/jetty-jmx-8.1.16.v20140903.jar;./lib/jetty-rewrite-8.1.16.v20140903.jar;./lib/jetty-security-8.1.16.v20140903.jar;./lib/jetty-server-8.1.16.v20140903.jar;./lib/jetty-servlet-8.1.16.v20140903.jar;./lib/jetty-util-8.1.16.v20140903.jar;./lib/jetty-webapp-8.1.16.v20140903.jar;./lib/jetty-xml-8.1.16.v20140903.jar;./lib/jul-to-slf4j-1.7.6.jar;./lib/logback-access-1.1.2.jar;./lib/logback-classic-1.1.2.jar;./lib/logback-core-1.1.2.jar;./lib/metrics-core-2.2.0.jar;./lib/metrics-jetty-2.2.0.jar;./lib/metrics-logback-2.2.0.jar;./lib/nexus-bootstrap-2.14.1-01.jar;./lib/plexus-interpolation-1.16.jar;./lib/slf4j-api-1.7.6.jar;./conf/" -Dwrapper.key="JlwJUuCCKkcPjWXm" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=8860 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.sonatype.nexus.bootstrap.jsw.JswLauncher ./conf/jetty.xml ./conf/jetty-requestlog.xml
wrapper | Critical error: wait for JVM process failed
wrapper | The nexus service was launched, but failed to start.
解决方式
打开编辑文件%NEXUES_HOME%injswconfwrapper.conf
。在修改如下配置,将wrapper.java.command
的值设置为正确的java路径。之后再进行启动nexus服务即可。
# Set the JVM executable
# (modify this to absolute path if you need a Java that is not on the OS path)
wrapper.java.command=%JAVA_HOME%injava.exe