我有一个部署在JBoss 7.1服务器上的java企业应用程序的maven项目。
在我的EAR模块中,我有这个pom.xml
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<finalName>myproject</finalName>
<modules>
<webModule>
<groupId>myproject</groupId>
<artifactId>myproject-webservice</artifactId>
<contextRoot>/</contextRoot>
<unpack>false</unpack>
</webModule>
<ejbModule>
<groupId>myproject</groupId>
<artifactId>myproject-ejb</artifactId>
</ejbModule>
</modules>
</configuration>
</plugin>
我想将根上下文设置为/
,以便我可以转到http://127.0.0.1:8080
。但如果根上下文为/
,则JBoss不会部署:
08:00:54,251 INFO [org.jboss.as.controller] (management-handler-thread - 36) JBAS014774: Service status report
JBAS014777: Services which failed to start: service jboss.web.deployment.default-host./: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./: Failed to start service
但是如果根上下文不是/
,而是<contextRoot>/myproject</contextRoot>
,那么它可以工作(但我必须转到http://127.0.0.1:8080/myproject
)。
我的配置有什么问题?
答案 0 :(得分:2)
我在这里找到答案:https://community.jboss.org/thread/198890
它代表:
AS7附带了部署到/
上下文的默认应用程序。当您点击localhost:8080时,您将看到一个页面,其中包含一条消息:
To replace this page set "enable-welcome-root" to false in your server configuration and deploy your own war with / as its context path.
我刚刚更改了standalone.xml,这就是解决方案! :-D