DevBoost / JaMoPP

JaMoPP can parse Java source and byte code into EMF-based models and vice versa. It preserves source formatting and can be used for code analysis and refactoring.
17 stars 18 forks source link

Support Parsing Java Libraries Compiled With Java 8 #29

Open seiferma opened 9 years ago

seiferma commented 9 years ago

It is not possible to parse Java libraries compiled with Java 8. This is problematic because Java 7 is not updated anymore. An upgrade to Java 8 is required.

The cause of the problem is the insufficient Java 8 support of the Apache BCEL library version that you use. The issue BCEL173 has already been solved for BCEL 6.0. Unfortunately, BCEL 6.0 is neither released nor announced to be released yet.

You might try the bcel-findbugs library instead, which has been suggest in the issue mentioned above for the time until BCEL 6.0 is released.

AresEkb commented 8 years ago

I've got the problem too.

seiferma commented 8 years ago

You can have a look at the fork of @MLanghammer. He included the latest BCEL library and some performance improvements but does not provide an update site or something similar.

https://github.com/MLanghammer/JaMoPP

joehen commented 7 years ago

Official BCEL v6.0 has been released on 14 Jul 2016, please switch to this version

Elothis commented 5 years ago

Hey, I think I'm having a problem extracting a model with JaMoPP from Java 8 code due to this here mentioned issue. The official website of JaMoPP seems to be down, so I dont know how to attain any documentation, and I just found this site here which mentioned to use the jamoppc.jar from the Util directory to get started. The fork from MLanghammer does not seem to have updated the jamoppc.jar file with the new BCEL library, so I cannot seem to extract a model from Java 8 code in any way.

Can anyone help me out here and explain to me how I can extract a model from Java 8 code?

Thank you very much.

jjohannes commented 5 years ago

@Elothis instead of using the jamoppc.jar you can clone the git repo and run the JaMoPPC.java class. That's the entry point of the jar.