2014-07-13 56 views
1

錯誤信息| 服務器無法啓動8080端口:已在使用地址:JVM_Bind(使用--stacktrace看到完整的跟蹤)Grails項目運行錯誤 - 服務器無法爲端口8080啓動:地址已在使用中:JVM_Bind

當我要執行我的Grails使用 --- 2 Grails命令項目第二次(run-app)每次都會遇到這種類型的錯誤。

但是,當我殺死javaw.exe使用任務管理器,然後如果我會再次運行它適用於我。有沒有永久的解決方案呢?..請建議。

|包裝Grails應用程序..

|編譯10源文件..

|編譯121的源文件.......

|編譯9個源文件.. .......................

|運行Grails應用程序

錯誤信息|服務器無法啓動8080端口:已在使用地址: JVM_Bind(使用--stacktrace看到完整的跟蹤)

+0

怎麼樣關閉服務器,執行前「運行應用程序」了? – rimero

+0

如何在GGTS工具中關閉(停止)當前正在執行的服務器。 –

+0

我相信在「控制檯」輸出中有一個停止按鈕,尋找一個紅色的矩形。 – rimero

回答

4

您可以指定HTTP端口使用CLI來運行服務器:

例如:

grails -Dserver.port=8090 run-app 

更多細節在documentation

+0

Grails 2.3.8目前正在使用中。非常感謝,但是當我用**'2 Grails Command(run-app)'來運行我的項目時,它又向我顯示了同樣的錯誤信息。如何使用grails -Dserver.port = 8090 run-app' –

+0

如果您使用的是Grails/Groovy Tool Suite(基於Eclipse的IDE),請選擇Run as> Run Configurations ....然後,在Grails **像這樣的輸入: ** - Dserver.port = 8050 run-app ** 因此,Grails將在端口8050上運行,而不是默認端口(8080)。 –

+0

使用此命令,可以在端口8080上運行一臺服務器,在端口8090上運行另一臺服務器。 – Abincepto

1

使用Grails的最新版本(2.3.0自),默認設置是在運行模式下叉的服務器。您可以在BuildConfig.groovy找到這個配置:

grails.project.fork = [ ... ] 

隨着run-app啓用上述分叉模式,應用程序必須重新運行前明確停止。因此,必須在grails run-app之前發行grails stop-app

如果你不想運行分叉模式的應用程序,然後用run:false替換此行:

run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false] 

就這樣,不會有必要明確運行stop-app命令。

+0

請您詳細說明什麼是分叉,以及在我的項目中需要什麼。如果我不使用這個呢? –

+0

請參閱[** Grails文檔**](http://grails.org/doc/latest/guide/commandLine.html#forkedMode)。 – dmahapatro

+0

非常感謝您的建議.. :) –

3

當您第一次運行應用程序時,它會繼續運行,直到您明確地告訴它停止。無論您如何啓動應用程序(無論是從GGTS還是命令提示符開始),直到您發送命令stop-app它都會繼續。你得到你遇到的錯誤:

Error | Server failed to start for port 8080: Address already in use: JVM_Bind (Use --stacktrace to see the full trace) 

當該服務器仍在運行。 Grails會在您做出更改時編譯您的更改,並且您可以立即在網頁上看到結果(對於大多數更改,對域對象的更改可能會有問題,並且通常需要重新啓動服務器)。

個人而言,我更喜歡在GGTS中編輯項目,但使用控制檯來管理應用程序只是因爲我更喜歡控制檯而不是GGTS的錯誤輸出。

0

打開BuildConfig.groovy

解決方案1: 然後用運行替換這一行:假 運行:[maxMemory:768,minMemory:64,調試:假,maxperm的:256,forkReserve:假] ,

解決方案2: 評論上線

+0

如果我用run:false註釋掉現有的run line,那麼發生了什麼?如果我們需要改變那一行,爲什麼這個運行行是默認提到的?你能請指定,並讓我清除所有這些...... thnks .. :) –

+0

解決方案1:你能指定他應該用什麼線代替?解決方案2:評論前一行是什麼? –

相關問題