2013-06-27 105 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