2015-01-15 79 views
1

我正在使用exec-maven-plugin 1.1.1版運行一個應用程序。這是POM配置將exec-maven-plugin從1.1.1升級到1.2或1.3.2

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.1.1</version>  
    <executions> 
     <execution> 
      <phase>install</phase> 
      <goals> 
       <goal>java</goal> 
      </goals> 
      <configuration> 
       <mainClass>com.org.dc.dcClient</mainClass> 
      </configuration> 
    </execution> 
</executions> 

這一直很好。我最近更新了一些組件,它現在可以正常運行,但最終會被阻塞,並且無法完成(代碼完成,但maven無法完成)。

我google了一下,我認爲這是一個錯誤?我有2個問題,如果有人有時間來回答

1)有這個被任何地方的固定或者我應該嘗試將其轉換爲貨物或螞蟻(我在Windows上運行)

2)我曾嘗試升級到最近的1.3.2,但這是行不通的。我在日誌文件中看不到任何明顯的內容,但該應用程序返回http 500響應。我基本上只是將1.1.1更改爲1.3.2,但我在文檔中看不到任何暗示我需要做其他事情的任何內容?我仍然在這方面有所發展,但可能是因爲這是一個maven插件,可能不存在依賴衝突?

我正在使用Maven 3.2.1和JDK 1.7。

謝謝。

在迴應置評

我想要做的事 - 我繼承了這個代碼,已經從概念證明發展到了位代碼運行的實時生成服務器上。我現在想用最小的努力來升級彈性搜索,因爲我剛剛開始了它,並且有幾件事要做(並非每個人都有!)。我希望應用程序本身從命令行(通過jenkins)運行,並在完成後關閉。我想部分地我現在只是固執己見,想知道升級到1.3.2的問題是什麼,部分我不確定什麼是exec-maven的基本問題的最佳解決方案,而不是釋放流程子完成。這就是說,我開始認爲將它移動到antrun插件會更快更簡單,因爲這似乎是針對潛在問題(在其他評論和谷歌搜索中)建議的解決方案,1.1.1版本(很可能是1.3.2版本)exec-maven在處理結束時不會釋放)。

在日誌文件中的條款我不知道你多麼想看到作爲obvioulsy他們是巨大的。當使用版本1.1.1,我得到(主要是輸出的消息我已經把...

New 8080 server set to go 
New 8080 server set 
Context set 
Using war file: target/dc.war 
Waiting for startup... 
Request Set 
execute run 
200 
Startup complete. 
.. app starts 

當我改變了版本1.3.2,我得到

New 8080 server set to go 
New 8080 server set 
Context set 
Using war file: target/dc.war 
Waiting for startup... 
Request Set 
execute run 
500 
... 

... 
Waiting for startup... 
Request Set 
execute run 
500 
[WARNING] 
java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.RuntimeException: Server failed to start up in 60 seconds 
    at com.org.dcapp.dcclass.startServer(dcclass.java:138) 
    at com.org.dcapp.dcclass.main(dcclass.java:30) 
    ... 6 more 
[DEBUG] joining on thread Thread[qtp1062658514-33-selector- [email protected]/0,5,com.org.dcapp.dcclass] 

讓我知道,如果你。希望有更多的

感謝

+0

還有其他插件可以爲您執行的東西。實際上,我目前使用的團隊似乎正在使用antrun插件,並使用它運行腳本。 – 2015-01-15 17:14:16

+0

首先你可以顯示一個日誌文件(最好用-X),它顯示了你提到的錯誤(500?),這是exec-maven-plugin無法引起的。此外,你想達到什麼? – khmarbaise 2015-01-15 17:29:20

+0

一些細節添加讓我知道,如果你想要更多。 – gringogordo 2015-01-16 08:44:48

回答

0

道歉把這個作爲一個答案,如果這是錯誤的格式 - 這很可能是

在進一步的痛苦調查和迴歸基礎(我應該開始的地方)之後,我意識到實際的問題是從碼頭6升級到碼頭9所帶來的JSP問題。奇怪的是,它似乎仍然與exec-maven-插件版本1.1.1,但在更高版本中失敗。我認爲這是一個依賴性的東西,但它超過了我的小腦袋。我注意到當我切換到Ant-run時,我得到了同樣的503問題。

我注意到了這個話題 - How do you get embedded Jetty 9 to successfully resolve the JSTL URI? 和換出

<dependency> 
     <groupId>org.eclipse.jetty</groupId> 
     <artifactId>jetty-jsp</artifactId> 
     <version>${jetty.version}</version> 
    </dependency> 

<dependency> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>jsp-2.1-glassfish</artifactId> 
     <version>2.1.v20100127</version> 
</dependency> 

,我不再得到503錯誤。在質問我完全錯過了根本原因的問題上抱歉。

相關問題