ClassNotFoundException: ошибка при открытии файла JAR …jboss/lib/endorsed/._resolver.jar

#jboss #jar #classnotfoundexception

#jboss #jar #classnotfoundexception

Вопрос:

При запуске моего JBoss с помощью bin/run.sh Я сразу же получаю эту ошибку:

 Error occurred during initialization of VM
java/lang/ClassNotFoundException: error in opening JAR file /home/polopoly/jboss/lib/endorsed/._resolver.jar
  

Файл действительно существует jboss/lib/endorsed/resolver.jar , но не a ._resolver.jar . Откуда берется ‘._’?! Я не могу найти ничего подобного в сценариях запуска.

Jboss находится на облачном компьютере Amazon cloud и был скопирован там как .tgz внутри jar. Может ли это быть источником ошибки? Но я сделал «grep -R»._resolver.jar ‘ .» в каталоге jboss без каких-либо результатов, поэтому файла сценария с этой строкой нет.

Комментарии:

1. Используете ли вы компьютер Mac OS X где-либо в своих процессах разработки или развертывания? Я знаю, что OS X генерирует файлы с префиксом «точка-подчеркивание» при создании zip-или tar-файла или передаче определенных файлов на компьютер, отличный от Mac. Но я не уверен, почему само приложение Java будет их искать. Кроме того, ваш resolver.jar настоящий файл jar? Может быть, это символическая ссылка? Попробуйте запустить на нем «jar tvf».

2. Да, я использую Mac OS X для создания jboss dist. Я нашел codeismandatory.com/?p=42 и litfuel.net/plush/?postid=147 . Таким образом, вы не можете tar на mac и untar на Linux…

Ответ №1:

После извлечения архива MAC tar в Linux используйте что-то вроде:

 find -type f -name '._*' | xargs rm -f
  

на нем, и JBoss будет корректно отображать.