jajuk-team / jajuk

Advanded jukebox for users with large or scattered music collections
49 stars 19 forks source link

Mac + Java 8 = you need to install the legacy Java SE 6 runtime. #1988

Closed koelleChristian closed 9 years ago

koelleChristian commented 9 years ago

I have java 8 installed on Yosemite 10.10.2

iMac:~ john$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17) 
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
iMac:~ john$ 

(As far as I remember there was a Oracle notification some weeks ago claiming I need to update my java as I did.)

Issue: Although I have this more or less new version of java, I still get the message "To open “Jajuk.app” you need to install the legacy Java SE 6 runtime."

I don't want to install a legacy Java if I have a new version and jajuk are supporting it:

<plist version="1.0">
  <dict>
    ...
    <key>Java</key>
    <dict>
      <key>MainClass</key>
      <string>org.jajuk.Main</string>
      <key>JVMVersion</key>
      <string>1.6+</string>
      <key>ClassPath</key>
      <array>

Calling jajuk.jar directly gives me:

iMac:Java john$ java -jar jajuk.jar 
java.lang.NoClassDefFoundError: org/jdesktop/swingx/util/OS
at org.jajuk.util.UtilSystem.<clinit>(UtilSystem.java:137)
at org.jajuk.Main.setSystemProperties(Main.java:219)
at org.jajuk.Main.main(Main.java:85)
Caused by: java.lang.ClassNotFoundException: org.jdesktop.swingx.util.OS
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Priority
at org.jajuk.Main.main(Main.java:198)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more

What next: I expect that it would work via command line if I would add all the jars to the classpath.

The point is that you are using a bootstrapping mechanism with does not work with a my official oracle java installation. ... Just for your information

bflorat commented 9 years ago

Thanks for reporting. We updated the tool (jarbundler) that create the OSX distro but I have no OSX under hand to perform the test.

Could you please try the daily build at : http://integration.jajuk.info/jenkins/job/maintenance/2006/ ?

bflorat commented 9 years ago

We updated to an even more recent OSX bundler, could you please try it at http://integration.jajuk.info/jenkins/job/maintenance/ ?

bflorat commented 9 years ago

Should be OK now (tested under Yosemite) : http://integration.jajuk.info/jenkins/job/maintenance/2014/

bflorat commented 9 years ago

Wait, it no more works, issue reopened.

bflorat commented 9 years ago

Should be OK from build #2017 : http://integration.jajuk.info/jenkins/job/maintenance/2017/