Java NoClassDefFoundError из-за «неправильных» слешей - PullRequest
2 голосов
/ 10 февраля 2010

У меня в команде проблема с проектом, который он получил от нашего SVN. Когда он пытается запустить файл, он получает ошибку:

java.lang.NoClassDefFoundError: misc\test (wrong name: misc/test)

Мы действительно не понимаем, почему он получает эту ошибку. Похоже, что причиной этого являются косые черты, но я не понимаю, как это проблема или как ее исправить ..: (

Мы оба используем NetBeans (у меня 6.7.1, а он 6.8) и встроенную функцию svn. Я создал проект на своем компьютере, Mac, и он использует Win7. Может ли это иметь какое-либо отношение к этому? В конце концов Unix и Win используют разные косые черты для путей ... Но я не вижу, как это изменить, потому что он запускает файлы из IDE.

Так что любая помощь будет оценена. Спасибо!
Stian

Ответы [ 2 ]

1 голос
/ 10 февраля 2010

При указании путей в java рекомендуется всегда использовать разделители unix, так как они также работают в Windows. Также при использовании в строках Java '\' является escape-символом, поэтому вы всегда должны использовать два (обратите внимание, что это не так для вашего случая).

0 голосов
/ 10 февраля 2010

Это похоже на он пытается запустить misc\test как в

java misc\test

но правильный должен быть

java misc.test

(также принимается java misc/test)

** проверено на Windows XP *

Не уверен, как это может происходить в среде IDE. Вы уверены, что он не использует что-то вроде муравья для запуска? Я хотел бы найти что-то вроде «misc / test» или «misc \ test» и заменить его на «misc.test» (предполагая, что misc - это пакет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...