Установка контекста J2EE, скомпилированного с помощью NetBeans

Я разработал приложение для университета, но по некоторым причинам мне кажется невозможным установить его контекстный корень. Вот что я пытался сделать:

  • Изменение контекста root из glassfish-web.xml, но это не работает. Сервер распознает когда-либо /web/ path (название веб-модуля). Это мой 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>
    
  • Я попытался установить context-root из asadmin, используя deploydir. Он развертывает приложение, но всегда запускает его в / 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-uri web, web.war, web_ear, но он никогда не распознал web-uri как правильный:(

1 ответ

Решение

Наконец-то я нашел решение, спасибо JBoss doc, которое лучше, чем теремок из стеклянной рыбы и нетбианов. Проблема вызвана наличием приложения, состоящего из двух модулей: - 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>
Другие вопросы по тегам