Прежде всего, спасибо за ваши ответы. Я постараюсь собрать всю эту информацию.
Я думаю, что мотивация для его изменения в файл EAR связана с «корпоративными решениями», и, возможно, кто-то, кто не хочет писать контекст всякий раз, когда он устанавливает какое-либо приложение на сервер, хотя я ни один в компании не оспариваю это , Виноват.
Они также все еще используют Java EE 1.5.
Я установил Glasshfish 2.1 и разъем Glassfish 2.1 на свое затмение Galileo. Я думаю, что это довольно легко управляется между коннектором затмения, консолью и веб-администрацией. В конце концов я нахожу место, где я могу сделать любое действие. Он очень большой по сравнению с Tomcat, и я чувствую что-то потерянное, но я стараюсь делать это медленно.
В моем EAR-файле немного, WAR-файл, а в каталоге META-INF находятся мои application.xml и manifest.mf. Мой application.xml читает:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
id="Application_ID" version="5">
<display-name>foo</display-name>
<module>
<web>
<web-uri>FOO.war</web-uri>
<context-root>foo</context-root>
</web>
</module>
</application>
Я получаю доступ к URL через http://localhost:8080/foo, который показывает server.log (на испанском, я переведу его как можно лучше), используя веб-сервис для администрирования Glassfish, а не выигрыш приставка.
[# | 2010-04-29T09: 46: 59.722 + 0200 | INFO | sun-appserver2.1 | javax.enterprise.system.tools.deployment | _ThreadID = 26; _ThreadName = Thread-419; | развернут с помощью moduleid = foo | #]
[# | 2010-04-29T09: 46: 59,909 + 0200 | ТЯЖЕЛАЯ | ВС-appserver2.1 | org.apache.catalina.core.StandardContext | _ThreadID = 27; _ThreadName = Thread-418; _RequestID = 9bff8714- d870-4f30-8a7a-22dca0375b6b; | PWC1300: Ошибка при инициализации ресурсов в контексте / foo | #]
[# | 2010-04-29T09: 46: 59,909 + 0200 | ТЯЖЕЛАЯ | ВС-appserver2.1 | org.apache.catalina.core.StandardContext | _ThreadID = 27; _ThreadName = Thread-418; _RequestID = 9bff8714- d870-4f30-8a7a-22dca0375b6b; | PWC4430: База документов C: \ Sun \ SDK \ jdk \ glassfish \ domains \ domain1 \ docroot \ FOO не существует или это каталог, который не может быть прочитан | #]
[# | 2010-04-29T09: 46: 59,925 + 0200 | ТЯЖЕЛАЯ | ВС-appserver2.1 | org.apache.catalina.core.StandardContext | _ThreadID = 27; _ThreadName = Thread-418; _RequestID = 9bff8714- d870-4f30-8a7a-22dca0375b6b; | PWC1306: Запуск контекста / foo завершился неудачно из-за предыдущих ошибок | #]
[# | 2010-04-29T09: 46: 59.925 + 0200 | INFO | sun-appserver2.1 | org.apache.catalina.core.StandardContext | _ThreadID = 27; _ThreadName = Thread-418; | PWC1240: The Контейнер WebModule [/ foo] не был запущен | #]
Как я уже сказал, я также пытался использовать WAR напрямую, и это также не работало. Я развернул его хорошо (или так он говорит), а затем у него есть симпатичная кнопка (в столбце действий) для запуска веб-службы, сервер дает мне http://localhost:4848/applications/webApplicationLinks.jsf?appID=FOO&contextRoot=/FOO (ухо foo, а война FOO) и перенаправляет меня на страницу, сообщающую, что если сервер или слушатель не работают, возможно, что ссылки не будут работать. Ниже приведены ссылки http://localhost:8080/FOO и http://localhost:8181/FOO (ни одна из них не работает, AKA http-404 в 8080 и пустая страница в 8181). Кстати, эта кнопка запуска не доступна в ухе, мне это не нравится.
Что касается других интересных вещей на сервере server.log, то, похоже, это не говорит о многом, но я могу ошибаться, поскольку я действительно очень новичок в мире серверов.