Cannot run Sonatype Nexus Repository Manager 3.0 o

2019-04-12 22:29发布

I cannot start Sonatype Nexus Repository Manager 3.0.0 Milestone 7 Release (nexus-3.0.0-b2016011501). After unzipping the Windows archive:

then, nexus.exe /run

ERROR: Bundle com.sun.jna [5] Error starting mvn:net.java.dev.jna/jna/4.0.0 (org.osgi.framework.BundleException: Unable to resolve com.sun.jna [5](R 5.0): missing requirement [com.sun.jna [5](R 5.0)] osgi.native; (|(&(osgi.native.osname~=win32)(osgi.native.processor~=x86))(&
... ... ... ...
(osgi.native.processor~=ppc))))]
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2117)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.lang.Thread.run(Unknown Source)

3条回答
乱世女痞
2楼-- · 2019-04-12 22:58

It turns out this is a bug. See here for an explanation and a workaround:

https://issues.sonatype.org/browse/NEXUS-9787?focusedCommentId=346263&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-346263

This will be fixed in the 3.0 release.

查看更多
Summer. ? 凉城
3楼-- · 2019-04-12 23:05

Solution to your question

  1. Sonatype Nexus Repository Manager 3.0.0 Milestone 7 Release requires a Java 8 Runtime Environment (JRE) from Oracle. The distributions for OSX and Windows include suitable runtime environments for the specific operating system.
  2. Please confirm you have installed Java by performing this command.

$ java -version
java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

  1. Please find the description Link here
查看更多
趁早两清
4楼-- · 2019-04-12 23:12

An issue was opened here:

The error message means the OSGi framework (Apache Felix) hasn’t been able to match the OS and processor names to one of the available JNA native libraries.

You should be able to workaround this by adding the following line to NEXUS_HOME/etc/custom.properties

felix.native.osname.alias.windowsserver2012=windows server 2012,win32

Where “win32” is the generic alias used by Felix for any Windows OS (the processor name is then used to decide whether to install a 32 or 64 bit native library).

The credit goes to S. McCulloch for the solution, plus @manfred-moser and R. Seddon for the quick answer from Sonatype.

查看更多
登录 后发表回答