我为大学开发了一个应用程序,但由于某些原因,我似乎无法设置它的上下文根。这就是我试图做的事情:
从glassfish-web.xml更改context-root但它无法正常工作。服务器识别ever / web / path(Web模块的名称)。这是我的XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<web-uri>web</web-uri>
<context-root>/</context-root>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
我尝试使用deploydir从asadmin设置context-root。它部署应用程序,但它始终运行到/ web / path。
我尝试检查domains.xml,但我没有其他应用,我的应用没有将上下文根设置为属性。
我在服务器日志中看到的唯一奇怪的是:
SEVERE: Application previously deployed is not at its original location any more: file:/C:/Users/Danilo/Documents/NetBeansProjects/ibei/dist/gfdeploy/ibei/
WARNING: Unsupported deployment descriptors element web-uri value web.
WARNING: Context path from ServletContext: /web differs from path from bundle: web
最后一个警告真的很奇怪,因为简单地称为Web应用程序&#34; web&#34;。我试图制作web-uri web,web.war,web_ear,但它从未认识到web-uri是正确的:(
答案 0 :(得分:2)
最后我找到了解决方案,对于JBoss doc来说,它比glassfish和netbeans更好。问题是由两个模块组成的APP的存在引起的: - EJB - WEB
这两个模块包含在耳朵中,因为netbeans没有“application.xml”所以glassfish根本不看“glassfish-web.xml”并且使用asadmin也无法工作。唯一的解决方案是像这样添加application.xml(在项目的“配置文件”文件夹中):
<application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
<display-name>Ibei</display-name>
<module>
<ejb>ejb.jar</ejb>
</module>
<module>
<web>
<web-uri>web.war</web-uri>
<context-root></context-root>
</web>
</module>
</application>