4

当我从我的 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 自动生成的,并且 context-root 格式良好,但似乎 Netbeans 与此无关......

4

2 回答 2

4

如果你使用 Maven 并部署到 JBoss,试试这个。

您应该编辑 pom.xml 文件并将以下行添加到<build>部分中。

<finalName>${artifactId}</finalName>
于 2013-10-04T06:00:07.503 回答
2

I just tried that with Netbeans 7.3 beta and it works.

I assume you put in the artifact and groupId tags in your module tag. If not this might be your problem. Here my plugin config as an example:

         <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>
于 2013-01-11T15:10:16.930 回答