1. 程式人生 > >Nexus啟動失敗處理:The nexus service was launched, but failed to start.

Nexus啟動失敗處理:The nexus service was launched, but failed to start.

升級了JDK為1.9後,Nexus啟動就失敗了:

C:\Users\abc>nexus start
wrapper  | Starting the nexus service...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | The nexus service was launched, but failed to start.
請按任意鍵繼續. . .

 

檢視%Nexus_HOME%下logs目錄下的日誌檔案,如下:

jvm 1    | Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
jvm 1    |     at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466) ~[na:na]
jvm 1    |     at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421) ~[jetty-webapp-8.1.16.v20140903.jar:8.1.16.v20140903]
jvm 1    |     at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383) ~[jetty-webapp-8.1.16.v20140903.jar:8.1.16.v20140903]
jvm 1    |     at org.apache.felix.framework.BundleWiringImpl.doImplicitBootDelegation(BundleWiringImpl.java:1738) ~[na:na]
jvm 1    |     at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1675) ~[na:na]
jvm 1    |     at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1511) ~[na:na]
jvm 1    |     at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) ~[na:na]
jvm 1    |     at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955) ~[na:na]
jvm 1    |     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) ~[na:na]
jvm 1    |     at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
jvm 1    |     at java.base/java.lang.Class.forName(Class.java:375) ~[na:na]
jvm 1    |     at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ~[na:na]
jvm 1    |     ... 47 common frames omitted
wrapper  | <-- Wrapper Stopped
wrapper  | The nexus service was launched, but failed to start.

 

初步斷定是安裝了JDK9後,Nexus配置檔案的問題:


在Nexus安裝目錄下,找到【\~\bin\jsw\conf】資料夾,開啟【wrapper.conf】檔案

 

找到這行:


# Set the JVM executable


下面有【wrapper.java.command=....】

 

將這行更改為【wrapper.java.command=自己的JDK安裝目錄\bin\java】即可(我修改為之前的jdk8的路徑就可以了)。

以我的JDK安裝目錄為例子

 

wrapper.java.command=C:\Program Files (x86)\Java\jdk1.8.0_40\bin\java