Запустите с 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>
Другие вопросы по тегам