2013-03-17 150 views
2

我能夠在第一次將其放置在domains/domain1/autodeploy dir下時部署我的WAR。但是,在進行一些更改並將WAR重新部署到autodeploy目錄後,更改沒有被拾取。我甚至刪除了domains/domain1/applications/myapp(其中myapp對應於部署中的myapp.jar),但是WAR沒有重新部署。啓動服務器,並通過asadmin停止:WAR不會從自動部署中重新部署在Glassfish中

asadmin start-domain 
asadmin stop-domain 

什麼我做錯了,這樣的應用程序沒有得到重新部署?

更新:我手動嘗試(重新)部署(也使用--force選項)的戰爭,但在server.log得到了以下錯誤:

[#|2013-03-17T20:47:36.177-0400|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=72;_ThreadName=Thread-2;|Application with name myprojectname is already registered. Either specify that redeployment must be forced, or redeploy the application. Or if this is a new deployment, pick a different name|#] 

我不知道該怎麼註銷/取消部署一個應用程序,是曾經部署過。我嘗試刪除所有在domain.xml中對我的應用程序的引用,但它不起作用。這似乎是軟件中的一個非常基本的錯誤。

+0

Glassfish日誌文件中可能有幫助嗎? – blamonet 2013-03-17 23:54:56

+0

發佈了更新 – amphibient 2013-03-18 01:02:09

回答

3

您可以通過asadamin與取消部署:

asadmin undeploy yourapplication 

您還可以訪問通過圖形界面GlassFish管理控制檯http://localhost:4848和取消(查看應用程序)。

一般再自動部署應該工作,但我會建議使用正常的部署方法或通過類似的NetBeans IDE的一些增量重新部署...

+0

我嘗試了你說的話,但它告訴我沒有這樣的應用程序存在。但是當我試圖重新部署它時,它告訴我它存在。 #困惑 – amphibient 2013-03-18 14:43:10

8

我知道這是很久以前回答,但在任何情況下,否則通過谷歌像我這樣做,我有另一個可能的答案...

遇到同樣的問題後,我發現以下... autodeploy/.autodeploystatus目錄仍然有一個文件引用應用程序我試圖通過將戰爭複製到自動部署目錄來重新部署。我必須刪除autodeploy/.autodeploystatus目錄中的文件,然後在將戰爭複製到autodeploy目錄中時部署了我的應用程序。

希望有所幫助。

注意:顯然,it is obvious其他人誰使用玻璃魚,你必須從隱藏的.autodeploystatus目錄中刪除所有這些東西,讓您的重新部署工作。他們爲何顯而易見?我們可能永遠不知道。