2012-06-16 60 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 

aditional的信息:jar文件被稱爲kernel.jar,它是在如果我用java -server -cp kernel.jar L2P執行該命令java命令類未找到

同一文件夾中。 loginserver.LoginServer類開始加載,但我需要配置,因爲我有log4j xml那裏。 謝謝!

回答

2

this answer

在Java類路徑,如果使用通配符*,它只是從該位置加載.jar文件。

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

log4j的問題是類路徑中的第一個log4j.xml將被加載。所以把配置放在前面。

+0

的conf文件將是無效的類路徑條目,雖然,他們會嗎?這聽起來像是真正的config *目錄*,它需要放在classpath中。 –

+0

這不會幫助我,因爲我說我加載了一個名爲kernel.jar的jar文件 – kodeslacker

+0

@JonSkeet多數民衆贊成真的,修復它謝謝! –

0

我不認爲你可以在-cp參數中使用類似globbing。它們不會以正確的方式擴展,在你需要它們時以冒號分隔。嘗試

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'部分嗎?如果你忘了它,我希望你得到那個錯誤... –