Closed sbliven closed 2 years ago
I suppose you are using the latest biojava release (6.0.0)?
Also another comment, have you tried the explicit dependencies solution for this project? I.e. what this PR did for biojava: https://github.com/biojava/biojava/pull/805/files
@josemduarte I need to look into it more, but I think that PR probably broke it for Java 15. CeSymm uses mvn shade, so all of biojava's dependencies get pulled recursively including the JAXB implementation.
The protein-comparison-tool also uses shade and is also broken on java 15, although it gives a different exception.
I think the solution to this is probably to switch biojava to use a different XML implementation.
The glassfish implementation fixed the problem. Should be fixed after merging biojava/biojava#996 upstream
Fixed in #112 with biojava 6.0.3
Biojava and cesymm officially support Java 1.8+. However the CeSymm jar file includes many dependencies which break this compatiblity.
Java 8
❌ Broken due to jgrapht
Jgrapht dropped java 8 support after 1.3.0, so BioJava needs to pin that version upstream.
Java 11
⚠️ Works, but warnings:
com.sun.xml was removed in Java 11. BioJava gets around this by bundling it as a dependency, but the warnings indicate the bundled JAXB version is not fully compatible.
Java 15 and 17
❌ Broken
XML parsing seems completely broken with the bundled JAXB. The code runs fine for me in VSCode, so I believe the problem is introduced in the shade step, which includes dependencies without stringent compatibility checks.