2012-06-16 3 views
4
java -server -Xmx2G -cp config:./* l2p.loginserver.LoginServer 

MAC: OK! 
WINDOWS: Cannot find class l2p.loginserver.LoginServer 
LINUX: Cannot find class l2p.loginserver.LoginServer 

фильме информация: файл баночка называется kernel.jar, и это в той же папке, где команда выполняетсяJava -cp класс не найден

, если я использую Java -server -cp kernel.jar L2p. loginserver.LoginServer класс загружается, но мне нужен config, потому что у меня есть log4j xml. Спасибо!

ответ

2

См this answer

В классах Java, если вы используете метасимволы *, он загружает только .jar файлов из этого места.

java -server -Xmx2G -cp config:kernel.jar l2p.loginserver.LoginServer 

Проблема с log4j заключается в том, что будет загружен первый log4j.xml в пути к классам. Поэтому поставьте конфигурацию спереди.

+0

В .conf файлы не будут действительны записи пути к классам, хотя, был бы они? Похоже, что это действительно каталог config *, который должен находиться в пути к классам. –

+0

, который не помогает мне, поскольку я сказал, что загружаю файл jar с именем kernel.jar – kodeslacker

+0

@JonSkeet thats true, исправлено это спасибо! –

0

Я не думаю, что вы можете использовать подобный подкачки в аргументе -cp. Они не будут расширены в правильном направлении, разделенные двоеточием, если вам понадобятся. Попробуйте

java -cp config:kernel.jar l2p.loginserver.LoginServer 

(С другими аргументами вам нужно, конечно.)

Обратите внимание, что это при условии, что вы на Unix. В Windows вам потребуется

java -cp config;kernel.jar l2p.loginserver.LoginServer 

(Сепаратор путь ; на Windows, но : на Unix.)

+0

Не работает, не удалось найти или загрузить конфигурацию основного класса: kernel.jar – kodeslacker

+0

@ user1460357: Вы уверены, что включили часть '-cp'? Я бы ожидал, что вы получите эту ошибку, если забыли ее ... –