- Ну, в первую очередь AJC не знает ни одного
-extdirs
В параметре, AFAIK.
- Я также считаю довольно странным, что ваш прилив имеет то же имя, что и injar, только в другом подкаталоге. Это позволяет легко ошибочно принимать одно за другим при ткачестве в следующий раз или просто используя библиотеку.
-
«Дубликат запись», что, возможно, происходит от того же класса, которая содержится в
pig.jar и
Aspects.jar.
«Возможно» было неправильной догадкой, см. Обсуждение между Энди Клементом и мной в разделе комментариев ниже. Истинная причина описана в обновлении 2.
Update:
Так как это может случиться, что исключение вы упоминаете происходит во время упаковки outjar?
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;
public class ZipExceptionDemo {
public static void main(String[] args) throws IOException {
try (JarOutputStream stream = new JarOutputStream(new FileOutputStream("foo.jar"))) {
stream.putNextEntry(new ZipEntry("com/foo/One.class"));
stream.putNextEntry(new ZipEntry("com/foo/Two.class"));
stream.putNextEntry(new ZipEntry("com/foo/UhOh.class"));
stream.putNextEntry(new ZipEntry("com/foo/UhOh.class")); // uh-oh!
}
}
}
Exception in thread "main" java.util.zip.ZipException: duplicate entry: com/foo/UhOh.class
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:215)
at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
at ZipExceptionDemo.main(ZipExceptionDemo.java:12)
Теперь ваша задача выяснить, почему у вас есть один и тот же класс в нескольких JAR-файлы, которые вы хотите смешать в одну. Вы даже знаете, какой из них искать: org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add
.
Update 2:
Я был в состоянии воспроизвести проблему с двумя кувшинов или каталогов на inpath, содержащего тот же файл класса. Как вы могли получить эту ошибку, если в вашей командной строке действительно есть только одна запись на inpath, как показано в вашем вопросе, остается для меня загадкой. Во всяком случае, я зарегистрировал bug ticket для проблемы.
Какая версия AspectJ? –
версия 1.8.2. – user3797438
Обратите внимание на мой обновленный ответ. – kriegaex