2012-05-10 67 views
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 

除了一點,碼頭不啓動的守護進程,一切都工作正常(數據源的碼頭,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

+1

我會推薦在7.6.x發佈版本中使用jetty-maven插件,7.6.3.v20120416是最新版本,您使用的插件是... ..在4-5歲時我認爲是什麼? –

+0

事實上你是對的,但是你會混淆碼頭版本和maven-jetty-plugin版本。在我的依賴項中,我擁有舊版的mortbay(在Eclipse之前有jetty),這就是爲什麼它不起作用。感謝您的幫助:) – Depado

回答

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 - * - 插件格式最好是maven項目自己開發的插件約定。那個年代似乎已經消失了,儘管我後悔改了這個名字。

+0

正如我評論說的那樣,儘管maven-jetty-plugin仍然與之前版本相同。我剛剛在我的依賴項中獲得了最新的碼頭服務器。看起來,由於Eclipse是該項目的維護者,他們添加了''屬性,這就是爲什麼它被我的舊版本忽略的原因。 =) 非常感謝您的幫助=) – Depado

+0

好吧,eclipse不是維護者,碼頭項目仍然由同一個人組成。這個項目本身實際上是分割在eclipse和codehaus之間的,codehaus包含了eclipse IP過程中會遇到的問題或難題。所以該項目的內容在日食,而整合和類似的東西仍然在codehaus。我們已經討論過將maven插件引入其中,但會有包裝變更等等,而且它只是沒有吸引力。無論如何,很高興你的工作 –