2013-06-27 131 views
0

我有一個運行在Tomcat6上的Java Web應用程序,它使用Eclipse構建。它一直在子目錄運行:Tomcat 6 Eclipse根部署

/webapps /目錄APPDIR

結果,網址爲:

www.application.com/appDIR

我現在只想部署到頂層。我將目錄重命名爲ROOT並提取WAR。設置權限,它不起作用。它轉到錯誤頁面的無限重定向,然後頁面死亡。

我可以將該目錄重命名爲其他任何東西,它可以工作。例如,我可以把它叫做測試,在這種情況下,URL變爲:

www.application.com/test

.....工作正常。我只是不能使用「ROOT」,這將允許wwww.application.com網址工作。

我做了一些搜索,並決定它與context.xml文件有關。它目前位於/ WEB-INF目錄中(錯誤?),並且只包含「」(更錯?)的結束標記。我將該文件移動到/ META-INF目錄,並且它不起作用。我想,也許它不能是空的,我增加了以下鏈接的內容吧:

http://www.wellho.net/resources/ex.php4?item=a654/6_context.xml

而且仍然沒有去。

任何想法?對於更多的背景知識,我現在將它部署到Amazon的Beanstalk,而在它自己託管之前。 Beanstalk默認部署到ROOT,並且我沒有看到在它上面對抗它們的理由,而Eclipse感覺不同。

+0

由於來自亞馬遜的無限重定向,我開始嘗試使其脫離「ROOT」目錄。您將訪問基本網址 - www.applicaion.com - 並在訪問日誌中看到指定的會話ID,然後重定向至連續錯誤約15次,然後網絡瀏覽器警告還有許多重定向。 同樣,這是因爲我們將WAR文件部署到一個子目錄,現在我希望它在Amazon Beanstalk的基本目錄中。 – user2529170

+0

本地環境中的行爲相同 - 它想要部署在除webapps/ROOT之外的其他目錄中。以下是發生的重定向錯誤:http:// localhost:8080/login.do?errorCode = 0的網頁導致了太多的重定向。清除您的本網站的Cookie或允許第三方Cookie可以解決此問題。如果沒有,這可能是一個服務器配置問題,而不是您的計算機的問題。 – user2529170

+0

我開始懷疑重定向設置。在index.jsp中,我有,然後在servlet映射中我有 loginController ..... – user2529170

回答

0

你提到:「Beanstalk默認部署到ROOT,而我沒有看到有理由與之對抗」。

如果你願意打 -

一個黑客可以肯定的,但要獲得我們的應用程序的一個子目錄下的部署,我們做了一個豆莖配置文件以下(.ebextensions)

commands: 
    # This modified the default beanstalk deploy script so that our WAR file sits in appropriate subdirectory. 
    fixdeployscript: 
     command: sed -i 's/webapps\/ROOT/webapps\/MyAppName/g' /opt/elasticbeanstalk/hooks/appdeploy/enact/03deploy.sh