设置netbeans编译的上下文路径J2EE

时间:2015-03-30 08:42:42

标签: java-ee netbeans-8 glassfish-4.1 contextroot

我为大学开发了一个应用程序,但由于某些原因,我似乎无法设置它的上下文根。这就是我试图做的事情:

  • 从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是正确的:(

1 个答案:

答案 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>