Запустите с Netbeans (и Maven) правильный корневой контекст
У меня небольшая проблема, когда я запускаю проект из Netbeans 7.2 (я также использую сервер Glassfish 3.1.2) ...
На самом деле я перенесу существующие проекты из Ant в Maven, мой pom.xml завершен, и я использовал настройку корневого контекста, как описано здесь: http://maven.apache.org/plugins/maven-ear-plugin/examples/customizing-context-root.html но когда я запускаю проект из netbeans, он развертывается с именем моего.ear: localhost:8080/MyApplicationEAR-0.1-SNAPSHOT
вместо localhost:8080/MyApplicationName
(который упоминается в <contextRoot>/MyApplicationName</contextRoot>
)
Если я напишу правильный URL в своем браузере, он будет работать нормально, но это не очень приятно.
Есть ли проблема в Netbeans или я что-то забыл?
РЕДАКТИРОВАТЬ: application.xml автоматически генерируется Maven и корень контекста хорошо сформирован, но кажется, что Netbeans не имеет значения с этим...
2 ответа
Если вы используете Maven и развертываете в JBoss, попробуйте это.
Вы должны отредактировать файл pom.xml и добавить следующую строку в <build>
раздел.
<finalName>${artifactId}</finalName>
Я только что попробовал это с Netbeans 7.3 beta, и это работает.
Я предполагаю, что вы добавили теги artifact и groupId в тег модуля. Если нет, то это может быть вашей проблемой. Вот мой конфиг плагина в качестве примера:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<version>6</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<generateApplicationXml>true</generateApplicationXml>
<applicationName>Gen</applicationName>
<modules>
<ejbModule>
<artifactId>Testing-ejb</artifactId>
<groupId>de.roeperweise.testing</groupId>
<bundleFileName>ejb.jar</bundleFileName>
</ejbModule>
<webModule>
<artifactId>Testing-web</artifactId>
<groupId>de.roeperweise.testing</groupId>
<bundleFileName>web.war</bundleFileName>
<contextRoot>/custom</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>