Community
Participate
Working Groups
Created attachment 248532 [details] Demo project reproducing the problem I tried to help that guy on http://stackoverflow.com/questions/26800286/duplicate-entry-in-aspectj/26806352. As he did not even post a full callstack, I tried to reproduce the problem and was successful. I am attaching a ZIP file containing three Eclipse projects as follows: SO_AJ_DuplicateZipEntry_AspectJ: aspect DemoAspect -> aspect.jar SO_AJ_DuplicateZipEntry_Lib: Java classes Application, Demo -> lib.jar SO_AJ_DuplicateZipEntry_Java: Java class Application -> bin/ Please note that class Application occurs twice. Now if you enter the SO_AJ_DuplicateZipEntry_Java project directory and run build.bat (or build.sh) containing this command: ajc -cp "%CLASSPATH%" -inpath ..\SO_AJ_DuplicateZipEntry_Lib\lib.jar;bin -aspectpath ..\SO_AJ_DuplicateZipEntry_AspectJ\aspect.jar -outjar out.jar there is an error as follows (also contained in build.log inside the ZIP archive): (...)\SO_AJ_DuplicateZipEntry_Java\bin\Application.class [error] unable to write compilation result Exception thrown from AspectJ 1.8.4 (...) duplicate entry: Application.class when weaving when batch building BuildConfig[null] #Files=0 AopXmls=#0 duplicate entry: Application.class java.util.zip.ZipException: duplicate entry: Application.class at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:233) at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109) at org.aspectj.ajdt.internal.core.builder.AjBuildManager$4.writeZipEntry(AjBuildManager.java:1166) at org.aspectj.ajdt.internal.core.builder.AjBuildManager$4.acceptResult(AjBuildManager.java:1103) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.acceptResult(AjPipeliningCompilerAdapter.java:460) at org.aspectj.ajdt.internal.compiler.WeaverAdapter.finishedWith(WeaverAdapter.java:225) at org.aspectj.ajdt.internal.compiler.WeaverAdapter.weaveCompleted(WeaverAdapter.java:186) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1193) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:514) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterCompiling(AjPipeliningCompilerAdapter.java:375) at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:78) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:421) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1036) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:272) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:371) at org.aspectj.tools.ajc.Main.runMain(Main.java:248) at org.aspectj.tools.ajc.Main.main(Main.java:84) 1 error