ClassFormatError - Надежный?

Когда я пытаюсь развернуть артефакты, я получаю ClassFormatError для своих проектов, в которых есть тесты:

[INFO] --- maven-surefire-plugin:2.5:test (default-test) @ ssh-exec ---
[INFO] Concurrency config is {threadCount=10, parallel=methods, configurableParallelComputerPresent=false}
[INFO] Surefire report directory: /home/walterjwhite/storage/projects/software/active/stable/task/impl/ssh-exec/target/surefire-reports
org.apache.maven.surefire.booter.SurefireExecutionException: Incompatible magic value 4022320623 in class file test-classes/com/walterjwhite/task/impl/ssh/exec/RemoteCommandExecutorTest; nested exception is java.lang.ClassFormatError: Incompatible magic value 4022320623 in class file test-classes/com/walterjwhite/task/impl/ssh/exec/RemoteCommandExecutorTest
java.lang.ClassFormatError: Incompatible magic value 4022320623 in class file test-classes/com/walterjwhite/task/impl/ssh/exec/RemoteCommandExecutorTest

Кто-нибудь еще сталкивался с этой проблемой?

Спасибо,

Уолтер


person Walter    schedule 22.12.2010    source источник


Ответы (1)


Есть пара ссылок, связанных с несовместимым магическим значением — возможно, одна из них применима в данном случае.

По сути, файл класса каким-то образом поврежден.

Ссылка 1 Ссылка 2

person Raghuram    schedule 22.12.2010
comment
Спасибо за ссылки, я наткнулся на них раньше; однако я отключил фильтрацию ресурсов, форматирование драндулета и распаковку зависимостей. Странно то, что эта проблема возникает только для цели развертывания. Даже если я запускаю тесты (mvn clean test, mvn clean package, mvn clean install), они работают нормально. Нарушена только фаза развертывания. - person Walter; 23.12.2010
comment
Хм, я заметил кое-что странное, я вижу рекурсию в моем целевом каталоге. В папке test-classes есть созданная банка, затем вы снова увидите классы, верный огонь... Поскольку верный огонь использует путь к классам в качестве этого каталога, это один из тех файлов классов, которые его портят. Как это произошло в первую очередь? - person Walter; 23.12.2010
comment
Ах, это должно быть мой плагин ресурсов. Кажется, он вызывается снова. - person Walter; 23.12.2010
comment
Хорошо, я нашел это. Я настроил плагин ресурсов в родительском pom для фильтрации скопированных ресурсов. Я знаю, что у меня была причина, по которой я это сделал, но сейчас я этого не помню. Это кажется мне основной проблемой - если ваши ресурсы уже есть (проект построен), то не должен ли плагин ресурсов перезаписывать существующие файлы, если он вообще собирается копировать файлы? - person Walter; 23.12.2010