0

我已经在另一个线程中将其作为次要问题提出,但这是唯一剩下的问题。
所以,我使用 Maven2 进行持续集成,这就是它的工作方式:

1. Unit test the server side   
2. Build the application  
3. Build the war  
4. Start a Jetty container => Blocks everything  
5. Start a Selenium server   
6. Unit test the client side   
7. Close the Selenium server   
8. Close the Jetty container

除了 Jetty 不是作为守护进程启动的那一点之外,一切都运行良好(jetty 的数据源、插件依赖项中的 postgresql、加载的 selenium 用户扩展......谢谢你们为我提供的所有帮助!)

这是我的码头插件的配置:

<plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.9</version>
            <executions>
                <execution>
                    <id>start-jetty</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <daemon>true</daemon>
                        <contextPath>agepro-prototype</contextPath>
                        <webApp>${project.build.directory}/agepro-prototype.war</webApp>
                    </configuration>
                </execution>
                <execution>
                    <id>stop-jetty</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <connectors>
                    <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                        <port>9091</port> 
                    </connector>
                </connectors>
                <stopPort>9092</stopPort>
                <stopKey>test</stopKey>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>postgresql</groupId>
                    <artifactId>postgresql</artifactId>
                    <version>9.1-901.jdbc4</version>
                </dependency>
            </dependencies>
        </plugin>

有谁知道我在这里做错了什么?
Jetty 容器启动,但它会阻止所有内容,直到我将其杀死 (ctrl+c) 并且生命周期的其余部分无法执行。

再一次,对那个转贴感到抱歉(我接受了在我上一个帖子上帮助我很多的人的回答,因为他应得的,但没有人来回答了哈哈),并为我的语法问题感到抱歉 xD

4

1 回答 1

2

好的,那我就这么回答。

“我建议在 7.6.x 版本中的某处使用 jetty-maven-plugin,7.6.3.v20120416 是最新的,您使用的插件是什么......我认为超过 4-5 年?”

因此,在将您的 jetty 依赖项更新到较新版本的 jetty 7(对于 servlet 2.5 支持,jetty 8 是 servlet 3.0 支持)之后,您还应该使用最新的 org.mortbay.jetty:jetty-maven-plugin:7.6.3.v20120416 运行时你从 maven cli 启动码头。maven-jetty-plugin 几年前就消失了,因为当时 maven-*-plugin 格式是 maven 项目本身开发的插件的理想约定。多年来,这种惯例似乎已经消失了,所以我很遗憾事后改变了这个名字。

于 2012-05-10T14:58:59.923 回答