When running program from Eclipse it works fine.
When running it outside of Eclipse I get this:
java.lang.ClassFormatError: Duplicate method name&signature in class file [Class Name]
The class in question implements from an interface, and the program has several other classes that extend from the class mentioned in the error.
What causes this and how is it fixed?
Thrown when the Java Virtual Machine attempts to read a class file and determines that the file is malformed or otherwise cannot be interpreted as a class file.
http://docs.oracle.com/javase/7/docs/api/java/lang/ClassFormatError.html
The Javadocs are your friend.
I had the same issue. As for me, root cause was that aspectj plugin compiles sources two times. Aspect class leaves in 'service' module and compiles with aspectJ plugin. And then it comes already compile into top-level 'web' module as dependency and complies once again (because 'service' module was as 'weaveDependency' in 'web' module's aspectJ plugin config). Solution: I've replaced next configuration in 'web' module
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<weaveDependencies>
<weaveDependency>
<groupId>com.taxi.core</groupId>
<artifactId>service</artifactId>
</weaveDependency>
</weaveDependencies>
</configuration>
with
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<aspectLibraries>
<aspectLibrary>
<groupId>com.taxi.core</groupId>
<artifactId>service</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
Googled and Found that Disabling "Deploy on save" may help to overcome the problem. Try on test platform and go for production!