我在JBOSS中部署了一个应用程序,它的访问方式为:localhost / appname 当我只输入IP地址时,我会被重定向到JBOSS默认页面。 有没有办法转到应用程序的主页而无需提供/ appname?
我希望问题很清楚。 提前致谢。
答案 0 :(得分:2)
Nightsorrow提供的解决方案的一部分,您还可以使用WEB-INF / jboss-web.xml文件的context-root标记定义Web应用程序的上下文根。因此将其定义为“/”,您可以保留原始文件名。通过这种方式,您可以覆盖JBoss的默认行为,即将Web应用程序的上下文根定义为应用程序的文件名(除非应用程序名称为ROOT.war,其默认上下文为“/”)。
因此jboss-web.xml文件看起来类似于:
<jboss-web>
... other tags ...
<context-root>/</context-root>
... other tags ...
</jboss-web>
请注意,不能有两个具有相同上下文根的应用程序,因此首先必须删除ROOT.war,或者按照相同的过程更改其上下文根:
<context-root>/oldRoot</context-root>
,这将通过localhost / oldRoot使旧ROOT.war应用程序可用)或如果您想在内部部署带有Web模块(war)的EAR文件(而不仅仅是普通的war文件),则必须使用EAR的META-INF / application.xml。以这种方式定义Web模块:
<application>
... other tags and other modules (ejb, web ...) ...
<module>
<web>
<web-uri>nameOfYourWarFile.war</web-uri>
<context-root>/</context-root>
</web>
</module>
... other tags and other modules (ejb, web ...) ...
</application>
答案 1 :(得分:1)
您必须在名为“ROOT.war”的文件中部署您的应用程序。您还必须删除部署目录中的现有ROOT.war。
答案 2 :(得分:-2)
我正在使用eap6。这是我第一次使用jboss。我没有看到我有$ JBOSS_HOME / server。我看到$ JBOSS_HOME / domain / server。我搜索了$ JBOSS_HOME下的所有文件。我找不到任何WEB-INF和jboss-web.xml