我目前正在運行Solr以使用它附帶的Jetty容器。它從命令行運行時正確運行:Jetty類路徑問題
java -jar start.jar
當我在與start.jar相同的目錄中。不幸的是,我需要能夠從任何目錄啓動jetty,而不僅僅是包含start.jar的目錄。我試過很多選擇,如:
java -Dsolr.solr.home=~/solr/ -Djetty.home=~/solr/ -Djetty.logs=~/solr/logs/ -cp ~/solr/start.jar:~/solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar:~/solr/lib/jetty-6.1.26-patched-JETTY-1340.jar:~/solr/lib/servlet-api-2.5-20081211.jar -jar ~/solr/start.jar ~/solr/etc/jetty.xml
每次我得到這個回溯:
java.lang.ClassNotFoundException: org.mortbay.xml.XmlConfiguration
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.mortbay.start.Main.invokeMain(Main.java:179)
at org.mortbay.start.Main.start(Main.java:534)
at org.mortbay.start.Main.start(Main.java:441)
at org.mortbay.start.Main.main(Main.java:119)
這在執行前已經由bash完成了。試試'echo hello〜',你會看到。 – aioobe
沒有假設他總是從bash執行。 Ubuntu有時會用默認的shell選項(* dash * vs * bash *,任何人?)來做怪異的事情(在過去,我已經有了代字符擴展問題。 – Femi
所有兼容的外殼都一樣。閱讀您最喜愛的手冊中的代字號擴展。 – aioobe