churchlab / millstone

Genome engineering and analysis software
http://churchlab.github.io/millstone/
MIT License
47 stars 19 forks source link

Running some java dependencies (i.e. snpeff) with Java1.6 (Apple Java) causes failures. #680

Closed dbgoodman closed 8 years ago

dbgoodman commented 8 years ago

SnpEff was compiled with Java JDK7 (Java 1.7) so Mac users (i.e. me) that are using /usr/bin/java on OS 10.10 and run SnpEff get this error when running tests:

java -jar /Users/dbg/software/millstone/genome_designer/tools/snpEff/snpEff.jar build -genbank -v 1518cd0a -c /Users/dbg/software/millstone/genome_designer/conf/../temp_test_data/projects/90e765bf/ref_genomes/1518cd0a/snpeff/snpeff.config -q -noLog
Exception in thread "main" java.lang.UnsupportedClassVersionError: ca/mcgill/mcb/pcingola/snpEffect/commandLine/SnpEff : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

One solution might be to specify the java executable and make users point to JDK7 in local_settings.py.

dbgoodman commented 8 years ago

To fix I just upgraded to Java 1.7 on Yosemite with:

brew tap caskroom/versions
brew cask install java7
$java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)