Glassfish运行时的Maven原型

时间:2016-08-04 13:53:21

标签: eclipse maven glassfish archetypes

如何使用具有glassfish 4作为目标运行时的maven创建j2ee项目?

我使用eclipse Mars。我按照动态网络项目'向导,我选择glassfish 4作为'目标运行时'。当向导结束时,我打开项目并在节点' Java资源 - >库'我可以看到glassfish系统库包。

现在我将使用maven创建相同的项目。我已经搜索了一个原型,给了我相同的库包以避免部署问题,但我还没有找到确定的问题。 更接近似乎是jersey-quickstart-webapp但是当我查看依赖关系时,这些只是对glassfish运行时的一个方面。可能吗?这听起来很奇怪,也许我犯了错误,我是否采取了正确的方法?

感谢。

1 个答案:

答案 0 :(得分:0)

我能想出的最好的是:

mvn archetype:generate -DgroupId=mygroup -DartifactId=myapp -Dversion=1.0-SNAPSHOT
        -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7

mygroupmyapp由您决定。

然后,在生成的pom.xml中,添加此属性(在properties元素中):

<glassfish.version>4.1.1</glassfish.version>

在构建元素中设置最终名称(我们将很快引用它):

<finalName>myapp</finalName>

然后添加此插件以在plugins元素中配置Glassfish嵌入式运行时:

<plugin>
    <groupId>org.glassfish.embedded</groupId>
    <artifactId>maven-embedded-glassfish-plugin</artifactId>
    <version>${glassfish.version}</version>
    <configuration>
        <autoDelete>true</autoDelete>
        <ports>
            <http-listener>8080</http-listener>
            <https-listener>8181</https-listener>
        </ports>
    </configuration>
    <executions>
        <execution>
            <id>deploy</id>
            <goals>
                <goal>deploy</goal>
            </goals>
            <phase>none</phase>
            <configuration>
                <app>target/${project.build.finalName}.war</app>
                <contextRoot>/${project.build.finalName}</contextRoot>
            </configuration>
        </execution>
        <execution>
            <id>admin</id>
            <goals>
                <goal>admin</goal>
            </goals>
            <phase>none</phase>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.main.extras</groupId>
            <artifactId>glassfish-embedded-all</artifactId>
            <version>${glassfish.version}</version>
        </dependency>
    </dependencies>
</plugin>

然后我使用mvn clean install embedded-glassfish:run运行带有新构建应用程序的服务器。

希望你喜欢它。