如何在Wildfly中定义上下文路径?

17

我使用了以下代码在Tomcat中设置了上下文路径,这样我可以通过覆盖Tomcat的默认路径直接使用localhost:8080访问我的应用程序。

<Context path="" docBase="G:\bitbucket\projectpath\project\build\libs\project-1.0" workDir="G:\bitbucket\projectpath\project\build\libs\project-1.0\work"  debug="0" reloadable="false" autoDeploy="true" unpackWARs="true" crossContext="true"/>
现在我要使用wildfly-8.2.0作为运行环境。我尝试直接将.war文件粘贴到中,并可以通过浏览器访问我的项目,如。
我需要在wildfly中设置与tomcat相同的配置,以通过覆盖wildfly的默认欢迎页面来访问我的项目。我尝试在wildfly中做同样的事情,但是我卡在了哪里。与tomcat简单的server.xml文件相比,在wildfly文件夹中有很多.xml文件,我不知道从哪里开始。我使用“如何在Wildfly中设置上下文路径”进行搜索,但没有成功。有人能帮我怎么做吗?如果它涉及编码,那么我可以搜索很多并且至少可以得到一些想法,但是我在这里卡住了配置。提前致谢。
2个回答

43

您可以通过在部署的应用程序中添加 /WEB-INF/jboss-web.xml 文件来完成此操作:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
      http://www.jboss.com/xml/ns/javaee
      http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
   <context-root>/</context-root>
</jboss-web>

搞定了..谢谢..顺便说一下,我遇到了一个奇怪的问题,我使用这个命令启动了wildfly,./standalone.sh -b xxx.xx.xx.xxx > $HOME/web.log 2>1 &,停止它时,我使用了./jboss-cli.sh --connect command=:shutdown。一切都很好,如果我启动服务器,我可以访问相应的网站,如果我停止服务器访问网站,Chrome会告诉我“服务器没有响应”..但是当我开始使用sqlserver时,发生了一些奇怪的事情。 - The Coder
我使用sqlserver中的dump创建了一个数据库,但是每当我部署我的.war文件时,它都会失败,我尝试了很多次。即使我使用关闭命令,我也可以访问该网站,但会显示404未找到消息。我认为有一个进程在后台运行,即使使用了关闭命令也没有停止。你知道如何解决吗? - The Coder
6
如果有人想知道:当前xml命名空间的schemaLocation为xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_7_2.xsd" - Stefan Haberl
在生产环境中,您肯定会使用自动化工具(如Ansible)来部署应用程序和配置。因此,您应该使用JBoos CLI和部署覆盖层来设置您的环境依赖项:创建部署覆盖层 - deleze
能否使用此方法来更改部署的应用程序端口,而不是8080?例如,在Spring中,对于application.properties,server.port=8093就可以实现这一点。 - Felipe La Rotta
显示剩余3条评论

0

使用注释直接在 WebService 类中更改上下文根。

import org.jboss.ws.api.annotation.WebContext;

@Stateless
@WebService(portName = "SampleWSPort", serviceName = "SampleWS")
@SOAPBinding(style = Style.DOCUMENT)
@WebContext(contextRoot = "/SWS", urlPattern = "/SampleWS")
public class SampleWS implements SampleWSInterface {

org.jboss.ws.api.annotation.WebContext

是在 MAVEN 构件中的。
<dependency>
   <groupId>org.jboss.ws</groupId>
   <artifactId>jbossws-api</artifactId>
   <version>1.1.2.Final</version>
</dependency>

我认为依赖关系不正确,该库没有@WebContect注释。 - Mohammad Mirzaeyan
非常好的解决方案,可以在WildFly 12上运行! - Andreas Covidiot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接