Distinctive Feature of Running Nexus on Linux
I installed Nexus on Linux according to the step-by-step instruction of Sonatype. Everything looked fine during the installation. To find out, whether the installation was successful, I tried to go to the welcome page of my nexus installation. I got an error message. I looked in the log file of Nexus and found following exception:
1com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: java.lang.TypeNotPresentException: Type org.codehaus.enunciate.contract.jaxrs.ResourceMethodSignature not present
2 ....
3
4ERROR [er_start_runner] - /nexus - unavailable java.lang.IllegalStateException: The PlexusServerServlet couldn't lookup the target component (role='org.restlet.Application', hint='nexus')
With Google's help I found a fixed bug in the Nexus bug tracking system, that describes my problem. The reason for my problem was: I had on my Linux machine an IBM JVM in an elder version. With this version Nexus doesn't run because of a bug in the IBM JVM. Two solutions and one workaround exist for this problem:
- Workaround: Copying enunciate-core-*.jar to /runtime/apps/nexus/lib.
- First solution: Update the version of IBM JVM to 5.0.0 SR12 / 6.0.0 SR8 FP1 or later
- Second solution: Use the JVM of Oracle.
I decided to change the JVM to an Oracle JVM and after that, Nexus ran without errors.