JDK - Platform Not Recognized - Running Eclipse or mvn
I screwed it up! I upgraded to Java 8 yesterday and that trashed some projects I was working on so I attempted to downgrade back to Java 7 and the wheels came off.
I've removed the previous Java directories in both JavaVM.framework and JavaVirtualMachines.
I re-ran the jdk-7u71-macosx-x64 and it complains during validation. The extremely informative: The Installation encountered an error ... blah blah.. go contact someone who cares. No details as to why it fails.
I can verify its presence though:
ls -l /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/*
total 8
drwxrwxr-x 15 root wheel 510 Mar 28 09:03 Home
-rw-rw-r-- 1 root wheel 1577 Sep 26 2014 Info.plist
drwxrwxr-x 3 root wheel 102 Mar 28 09:03 MacOS
including:
java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
Also have it linked back to /usr/bin/java and /Library
ls -l /Library/Java/Home/*
-rw-rw-r-- 1 root wheel 3339 Sep 26 2014 /Library/Java/Home/COPYRIGHT
-rw-rw-r-- 1 root wheel 40 Sep 26 2014 /Library/Java/Home/LICENSE
-rw-rw-r-- 1 root wheel 114 Sep 26 2014 /Library/Java/Home/README.html
-rw-rw-r-- 1 root wheel 110114 Sep 26 2014 /Library/Java/Home/THIRDPARTYLICENSEREADME-JAVAFX.txt
-rw-rw-r-- 1 root wheel 173559 Sep 26 2014 /Library/Java/Home/THIRDPARTYLICENSEREADME.txt
-rw-rw-r-- 1 root wheel 502 Sep 26 2014 /Library/Java/Home/release
-rw-rw-r-- 1 root wheel 20057582 Sep 26 2014 /Library/Java/Home/src.zip
/Library/Java/Home/bin:
total 7840
-rwxrwxr-x 1 root wheel 99296 Sep 26 2014 appletviewer
-rwxrwxr-x 1 root wheel 99296 Sep 26 2014 apt
-rwxrwxr-x 1 root wheel 99296 Sep 26 2014 extcheck
...
When I try to run eclipse or mvn it complains Platform Not Recognized. Most especially around the FileSystem.
How do I get the underlying libraries back on here?
(My backups are up to date... Is there something I can restore that would help my situation or will I only make things worse?)
./eclipse
org.osgi.framework.BundleException: Error initializing container. at
org.eclipse.osgi.container.SystemModule.init(SystemModule.java:93) at
org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle.init(EquinoxBundle.java:209) at
org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle.init(EquinoxBundle.java:201)at
org.eclipse.osgi.launch.Equinox.init(Equinox.java:168) at
org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:296) at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231 at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at
java.lang.reflect.Method.invoke(Method.java:606) at
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at
org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at
org.eclipse.equinox.launcher.Main.run(Main.java:1465) Caused by:
java.lang.AssertionError: Platform not recognized at
sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:73) at
java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:108) at
java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:89) at
java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:98 at
java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:96 at
java.security.AccessController.doPrivileged(Native Method) at
java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:95) at
java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:90) at
java.nio.file.FileSystems.getDefault(FileSystems.java:176) at
sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:483) at
sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:478) at
java.security.AccessController.doPrivileged(Native Method) at
sun.util.calendar.ZoneInfoFile.<clinit>(ZoneInfoFile.java:477) at
sun.util.calendar.ZoneInfo.getTimeZone(ZoneInfo.java:663) at
java.util.TimeZone.getTimeZone(TimeZone.java:566) at
java.util.TimeZone.setDefaultZone(TimeZone.java:663) at
java.util.TimeZone.getDefaultRef(TimeZone.java:630) at
java.util.GregorianCalendar.<init>(GregorianCalendar.java:586) at
org.eclipse.osgi.internal.framework.UniversalUniqueIdentifier.clockValueNow(UniversalUniqueIdentifier.java:90) at
org.eclipse.osgi.internal.framework.UniversalUniqueIdentifier.timestamp(UniversalUniqueIdentifier.java:253) at
org.eclipse.osgi.internal.framework.UniversalUniqueIdentifier.setTimeValues(UniversalUniqueIdentifier.java:228) at
org.eclipse.osgi.internal.framework.UniversalUniqueIdentifier.<init>(UniversalUniqueIdentifier.java:73) at
org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.initWorker(EquinoxBundle.java:137) at
org.eclipse.osgi.container.SystemModule.init(SystemModule.java:83)
... 12 more
Solution 1:
I think you now need to re-install the "old" Apple Java, so it can link it self up again.
Download Java for OS X 2014-001, and install it - this will re-install /System/Library/Frameworks/JavaVM.framework, and just to be sure, install Java 7_75 or 7_76 (the newest update for Oracle Java) again.
Solution 2:
Try adding the JVM parameter: -Dos.name=Linux