欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用glassfish测试servlet3.1

程序员文章站 2022-04-12 19:13:35
...

glassfish4是首个支持JavaEE 7的容器,即支持servlet3.1,于是使用glassfish4 maven插件测试,但是测试时一直不成功,接着参考oracle官网的一篇《GlassFish 4 beta and Maven Embedded Plugin》终于搞定。

 

没办法,切换到3.1.2.2插件,但是使用4.0-b86的内嵌容器,jar包巨大无比(差不多80多M),请耐心等待。。

 

具体配置如下:

            <plugin>
                <groupId>org.glassfish.embedded</groupId>
                <artifactId>maven-embedded-glassfish-plugin</artifactId>
                <version>3.1.2.2</version>
                <configuration>
                    <port>9080</port>
                    <autoDelete>true</autoDelete>
                    <app>${project.build.directory}/${project.build.finalName}</app>
                    <contextRoot>${project.build.finalName}</contextRoot>
                    <name>${project.build.finalName}</name>
                    <serverID>embedded</serverID>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.glassfish.main</groupId>
                        <artifactId>simple-glassfish-api</artifactId>
                        <version>4.0-b79</version>
                    </dependency>
                    <dependency>
                        <groupId>org.glassfish.main.extras</groupId>
                        <artifactId>glassfish-embedded-all</artifactId>
                        <version>4.0-b86</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

 

这样可以在maven clean package时运行glassfish。 

 

另外,需要制定下载依赖的仓库

    <pluginRepositories>
        <pluginRepository>
            <id>maven.java.net</id>
            <name>Java.net Repository for Maven</name>
            <url>https://maven.java.net/content/groups/promoted/</url>
        </pluginRepository>
        <pluginRepository>
            <id>maven2-repository.dev.java.net</id>
            <name>Java.net Repository for Maven</name>
            <url>http://download.java.net/maven/glassfish/</url>
        </pluginRepository>
    </pluginRepositories>

 

单独使用glasshfish4容器测试时没有问题的。

 

最近在整理servlet3.x的一份学习示例,具体可参考我的github

https://github.com/zhangkaitao/servlet3-showcase

 

servlet3.1的新特性可以参考

https://github.com/zhangkaitao/servlet3-showcase/tree/master/chapter4-3_1