Установка контекста 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>