[Biojava-dev] Biojava with Java 8
Terry Casstevens
tmc46 at cornell.edu
Wed Jul 30 15:07:36 UTC 2014
Hi Andreas,
Thank you for your reply. Looking at the github repository, it does
look like the last change to SimpleLocation will fix our problem.
Although, I don't think it's specific to Windows. I think it's a
change in Java 8 (maybe with default methods on Interfaces).
Your Location Interface creates an static instance of SimpleLocation
which ends up calling a SimpleLocation constructor that uses
EMPTY_LOCS. And EMPTY_LOCS, a static variable in SimpleLocation,
doesn't seem to be initialized at that time. The change to use new
ArrayList<Location>() instead of EMPTY_LOCS gets around that.
Do you know when another release would be available?
Thank you,
Terry
On Tue, Jul 29, 2014 at 5:03 PM, Andreas Prlic <andreas at sdsc.edu> wrote:
> Hi Terry,
>
> The NoClassDefFoundError sounds a bit more like a configuration error, than
> a BioJava specific issue. Are you using the latest version of the source
> from github? One of our students here submitted a few patches recently that
> make the current trunk code work on Java 1.8 without problems (as well as on
> windows). Might be easiest to get a checkout from there.
>
> https://github.com/biojava/biojava
>
> Having said that, there was a lot of change in the code since the last
> release and we should probably think about preparing another release soon.
>
> Andreas
>
>
>
> On Tue, Jul 29, 2014 at 11:01 AM, Terry Casstevens <tmc46 at cornell.edu>
> wrote:
>>
>> Dear Spencer,
>>
>> I would very much appreciate your help with this. I think it will
>> effect your other users also.
>>
>> I am the software lead of the Buckler Lab at Cornell University, and
>> we use the biojava library in our software.
>>
>> I'm hoping to move to your latest released jars, but I don't think
>> this is specific to that version.
>> biojava3-alignment-3.0.8.jar
>> biojava3-phylo-3.0.8.jar
>> biojava3-core-3.0.8.jar
>>
>> We have everything working when compiling and running our code with Java
>> 7.
>>
>> But when running with Java 8 (compiling with Java 7 or Java 8), we are
>> getting NoClassDefFoundError.
>>
>>
>> This will show you the problem. Compile this with Java 7, and run it
>> under Java 7 and Java 8. You will see that it works in Java 7 and not
>> in Java 8.
>>
>> public static void main(String[] args) {
>> SimpleLocation location = new SimpleLocation(1, 7);
>> }
>>
>>
>> I believe your problem is in
>> org.biojava3.core.sequence.location.template.Location. This line is
>> causing the problem in Java 8.
>>
>> public static final Location EMPTY =
>> new SimpleLocation(Integer.MIN_VALUE, Integer.MAX_VALUE,
>> Strand.UNDEFINED);
>>
>>
>>
>> Best,
>>
>> Terry
>> _______________________________________________
>> biojava-dev mailing list
>> biojava-dev at mailman.open-bio.org
>> http://mailman.open-bio.org/mailman/listinfo/biojava-dev
>
>
>
>
More information about the biojava-dev
mailing list