NXRM3 3.23.3-03 failed to start with exception "Unable to resolve com.sun.jna.platform"

Hello Evereybody!

I have personal NXRM 3 version 3.16.0-01 instance successfully running on SBC ASUS Tinkerboard with following system configuration:

  • architecture armv7l
  • Linux Debian GNU/Linux 9.3 (stretch) 4.4.103+
  • Java - version “1.8.0_201” (build 1.8.0_201-b09)

This configuration works for NXRM v3 Linux installation from tar.gz distribution and is used as proxy and maven deployment server.

When I decided to upgrade to latest version of NXRM, specifically 3.23.0-03, the startup of the new installation failed with following messages:
2020-06-08 07:33:26,167+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.osgi.BootstrapListener - Installing: nexus-oss-edition/3.23.0.03 (nexus-orient/3.23.0.03)

2020-06-08 07:33:38,760+0000 WARN [jetty-main-1] *SYSTEM org.sonatype.nexus.features.internal.FeaturesWrapper - Problem starting reference:file:system/net/java/dev/jna/jna-platform/4.5.0/jna-platform-4.5.0.jar

org.osgi.framework.BundleException: Unable to resolve com.sun.jna.platform [204](R 204.0): missing requirement [com.sun.jna.platform [204](R 204.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=com.sun.jna)(bundle-version>=4.5.0)) [caused by: Unable to resolve com.sun.jna [13](R 13.0): missing requirement [com.sun.jna [13](R 13.0)] osgi.native; (|(&(osgi.native.osname~=win32)(osgi.native.processor~=x86))(&(osgi.native.osname~=win32)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=win)(osgi.native.processor~=x86))(&(osgi.native.osname~=win)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=wince)(osgi.native.processor~=arm))(&(osgi.native.osname~=sunos)(osgi.native.processor~=x86))(&(osgi.native.osname~=sunos)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=sunos)(osgi.native.processor~=sparc))(&(osgi.native.osname~=sunos)(osgi.native.processor~=sparcv9))(&(osgi.native.osname~=aix)(osgi.native.processor~=ppc))(&(osgi.native.osname~=aix)(osgi.native.processor~=ppc64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc64le))(&(osgi.native.osname~=linux)(osgi.native.processor~=x86))(&(osgi.native.osname~=linux)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=linux)(osgi.native.processor~=arm))(&(osgi.native.osname~=linux)(osgi.native.processor~=armel))(&(osgi.native.osname~=linux)(osgi.native.processor~=aarch64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ia64))(&(osgi.native.osname~=linux)(osgi.native.processor~=sparcv9))(&(osgi.native.osname~=linux)(osgi.native.processor~=mips64el))(&(osgi.native.osname~=linux)(osgi.native.processor~=s390x))(&(osgi.native.osname~=freebsd)(osgi.native.processor~=x86))(&(osgi.native.osname~=freebsd)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=openbsd)(osgi.native.processor~=x86))(&(osgi.native.osname~=openbsd)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=macosx)(|(osgi.native.processor~=x86)(osgi.native.processor~=x86-64)(osgi.native.processor~=ppc))))] Unresolved requirements: [[com.sun.jna.platform [204](R 204.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=com.sun.jna)(bundle-version>=4.5.0))]
…
Caused by: java.lang.NoClassDefFoundError: com/sun/jna/Platform
at com.orientechnologies.common.jna.ONative.instance(ONative.java:30)

(full startup log can be provided but no support ZIP - sorry)

As I’ve understood messages I guess that JNA environment is not compatible with requirements. I’m wandering, how this can be fixed? As I have working NXRM v3 3.16.0-01 I’ve looked through NXRM v3 release notes but there was no mention of JNA or requirement to provide JNA bundle. I’m happy to implement recommendations and will be very grateful for help and advice.

With best regards
Nick Sorokin
e-mail: Nick.Sorokin@googlemail.com
WhatsApp, Viber: +7 909 938 9098

Hello Everybody!

I finally found the reason for issue: version 4.5.0 of net.java.dev.jna:jna and net.java.dev.jna:jna-platform included with NXRM v3 does not support ARM v7 architecture. However, when I replaced above modules with latest version - 5.6.0 - NXRM 3.23.0-03 and NXRM 3.28.1-01 (latest) have been successfully started.

Regards
Nick Sorokin
e-mail: Nick.Sorokin@googlemail.com
WhatsApp, Viber: +7 909 938 9098

1 Like