dfermin/lucXor

Missing dependency error

Closed this issue · 5 comments

With newer java (11) versions we get:

LuciphorAdapter_1_input.mzML:  Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
	at umich.ms.fileio.filetypes.mzml.MZMLFile.parseRunInfo(MZMLFile.java:91)
	at umich.ms.fileio.filetypes.AbstractLCMSDataSource.fetchRunInfo(AbstractLCMSDataSource.java:74)
	at umich.ms.fileio.filetypes.xmlbased.AbstractXMLBasedDataSource.parseScan(AbstractXMLBasedDataSource.java:640)
	at lucxor.globals.read_mzML(globals.java:676)
	at lucxor.globals.read_in_spectra(globals.java:646)
	at lucxor.LucXor.main(LucXor.java:71)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	... 6 more

Maybe the Proper long-term solution: (JDK 9 and beyond) mentioned here https://icetutor.com/question/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-java-9/
is the way to go:

Could you try the mavenized branch of luciphor?

@chhh recently updated the source code to work with Maven.
Download the mavenized branch of luciphor and the build the jar with mvn clean package.
The working jar should be in targets called lucxor-2.1-SNAPSHOT.one-jar.jar

Thanks for the reply @dfermin . Building and running worked with the mavenized branch.

Q for the conda packaging: do you plan to have releases here on github in the future? Then I could adapat the conda recipe accordingly.

@bernt-matthias @chhh I have a fork with GitHub Actions https://github.com/ypriverol/lucXor and I'm planning to do releases and bug fixing. We can coordinate the efforts to maintain the tool.

Maybe a PR would be an alternative?

I don't know if someone is interested in maintaining and Reviewing PRs? The changes I'm doing big changes in the code for performance and clean some empty functions, variables etc.