lindenb / jvarkit

Java utilities for Bioinformatics
https://jvarkit.readthedocs.io/
Other
482 stars 133 forks source link

backlocate errors out #13

Closed RamRS closed 10 years ago

RamRS commented 10 years ago

Hi,

I installed jvarkit and backlocate as described in the documentation. I also placed mysql-connector-java-5.1.31-bin.jar in a custom location and added the mysql.jar variable in build.properties to point to it. However, when I run echo -e "GLA\tA143P" | java -jar dist/backlocate.jar, I get the following error:

[INFO/BackLocate] 2014-09-11 09:55:34 "Starting JOB at Thu Sep 11 09:55:34 EDT 2014 com.github.lindenb.jvarkit.tools.backlocate.BackLocate version=796ed1daa01c438fe99027105e17588a82e764f0  built=2014-07-10 12:25:05"
[INFO/BackLocate] 2014-09-11 09:55:34 "Command Line args : (EMPTY/NO-ARGS)"
[INFO/BackLocate] 2014-09-11 09:55:34 "Executing as ram@alphagala.1425mad.mssm.edu on Mac OS X 10.9.4 x86_64; Java HotSpot(TM) 64-Bit Server VM 1.6.0_65-b14-466.1-11M4716"
[SEVERE/BackLocate] 2014-09-11 09:55:34 "com.mysql.jdbc.Driver"
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    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)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:171)
    at com.github.lindenb.jvarkit.tools.backlocate.BackLocate.doWork(BackLocate.java:557)
    at com.github.lindenb.jvarkit.util.AbstractCommandLineProgram.instanceMain(AbstractCommandLineProgram.java:456)
    at com.github.lindenb.jvarkit.util.AbstractCommandLineProgram.instanceMainWithExit(AbstractCommandLineProgram.java:470)
    at com.github.lindenb.jvarkit.tools.backlocate.BackLocate.main(BackLocate.java:634)
[SEVERE/BackLocate] 2014-09-11 09:55:34 "cannot.load.mysql.driver"
Exception in thread "main" java.lang.NoClassDefFoundError: htsjdk/samtools/util/CloserUtil
    at com.github.lindenb.jvarkit.tools.backlocate.BackLocate.doWork(BackLocate.java:629)
    at com.github.lindenb.jvarkit.util.AbstractCommandLineProgram.instanceMain(AbstractCommandLineProgram.java:456)
    at com.github.lindenb.jvarkit.util.AbstractCommandLineProgram.instanceMainWithExit(AbstractCommandLineProgram.java:470)
    at com.github.lindenb.jvarkit.tools.backlocate.BackLocate.main(BackLocate.java:634)
Caused by: java.lang.ClassNotFoundException: htsjdk.samtools.util.CloserUtil
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    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)
    ... 4 more

How would I address this please? Thank you!

lindenb commented 10 years ago

There's not only mysql. it looks like you're missing all the libraries required (htsjdk... ). Check your paths, did you install htsjdk ? did you compile after editing build.properties ?

$ cd jvarkit
$ ant backlocate
$ cd dist
$ echo "#" | java -cp /home/lindenb/package/mysql-connector-java-5.1.12/mysql-connector-java-5.1.12-bin.jar::/home/lindenb/src/jvarkit-git/htsjdk/dist/apache-ant-1.8.2-bzip2.jar:/home/lindenb/src/jvarkit-git/htsjdk/dist/htsjdk-1.117.jar:/home/lindenb/src/jvarkit-git/htsjdk/dist/snappy-java-1.0.3-rc3.jar:/home/lindenb/src/jvarkit-git/htsjdk/dist/commons-jexl-2.1.1.jar:/home/lindenb/src/jvarkit-git/htsjdk/dist/commons-logging-1.1.1.jar:backlocate.jar com.github.lindenb.jvarkit.tools.backlocate.BackLocate
RamRS commented 10 years ago

Ah, I compliled before editing build.properties. I'll also check on building htsjdk.

RamRS commented 10 years ago

I compiled again and it works. Thank you so much, @lindenb !