我的 java 企业应用程序有一个 Maven 项目,该项目部署在 JBoss 7.1 服务器上。
在我的 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
)。
我的配置有什么问题吗?
最佳答案
我在这里找到了答案:https://community.jboss.org/thread/198890
它站着:
AS7 附带了一个部署到 /
上下文的默认应用程序。当您点击 localhost:8080 时,您将看到一个页面,其中包含一条消息:
要替换此页面,请在服务器配置中将“enable-welcome-root”设置为 false,并使用/作为其上下文路径部署您自己的 war。
我刚刚更改了standalone.xml,这就是解决方案! :-D
关于java - 为什么我无法将 JBoss AS 中的根上下文更改为 "/"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17184124/