2014-05-13 22 views
0

在Jetty 8中,我傳遞的值爲-Djetty.port=8888 -DSTOP.PORT=8887 -DSTOP.KEY=STOP,但在Jetty 9中這些似乎不起作用。我可以設置端口--module=http jetty.port=8888但我不知道如何設置其他值?Jetty 9停止端口和命令行參數中的鍵

此外,我曾經使用命令java -DSTOP.PORT=8887 -DSTOP.KEY=STOP -jar start.jar --stop,但我不知道如何現在運行停止命令?

http://www.eclipse.org/jetty/documentation/current/start-jar.html#d0e8360該文檔顯示,停止並沒有改變,但是當我嘗試,我得到

java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at org.eclipse.jetty.start.Main.stop(Main.java:761) 
    at org.eclipse.jetty.start.Main.stop(Main.java:740) 
    at org.eclipse.jetty.start.Main.start(Main.java:648) 
    at org.eclipse.jetty.start.Main.main(Main.java:103) 

Usage: java -jar start.jar [options] [properties] [configs] 
    java -jar start.jar --help # for more information 

TIA

回答

1

我經歷過同樣的問題,但發現它一直是一個被忽視我的錯誤。據說,我認爲你實際上是在正確的軌道上。

這應該工作

隨着 碼頭,分佈9.2.7.v20150116 下列順序做工作:

# setting up jetty config 
java -jar mypath/start.jar --add-to-startd=http,deploy 

# check to see if the ports are available 
netstat -tapn | grep "808[07]" 

# starting server 
java -DSTOP.PORT=8087 -DSTOP.KEY=STOP -jar mypath/start.jar 

# check to see if the ports are now monitored 
netstat -tapn | grep "808[07]" 

# starting server 
java -DSTOP.PORT=8087 -DSTOP.KEY=STOP -jar mypath/start.jar --stop 

# check to see if the ports are now free 
netstat -tapn | grep "808[07]" 

首選語法

以上-D語法的作品,但更好地支持以下語法:

java -jar mypath/start.jar STOP.PORT=8087 STOP.KEY=STOP 
java -jar mypath/start.jar STOP.PORT=8087 STOP.KEY=STOP --stop 
java -jar mypath/start.jar STOP.PORT=8087 STOP.KEY=STOP --list-config 
java -jar mypath/start.jar STOP.PORT=8087 STOP.KEY=STOP --dry-run 

您可以通過嘗試來確認此語法是否正常工作。

額外的步驟

這些最後兩個命令(--list-config並--dry運行)可用於檢查各種問題,非常方便。

--help命令對於理智檢查這樣的奇怪問題也非常有用。它確實揭示細微差別像上面首選語法,你發現很難找到:

java -jar mypath/start.jar --help 

如果你已經嘗試過這些步驟,嘗試升級到碼頭的情況下,一個新的版本,你遇到的問題是實際的bug隨後得到修復。

如果它仍然不起作用,我會盡力幫助你,並適當地更新這個「答案」。