2013-08-29 56 views
0

我試圖將Maven配置爲從Eclipse啓動WebSphere Liberty Profile。無論如何,我發現它在Linux上工作,但不適用於Windows。以下是pom.xml的設置。 (請注意,只有相關的代碼將被張貼在這裏)Maven未能在Windows上啓動Liberty Profile

 <pluginRepositories> 
     <pluginRepository> 
      <id>WASdev</id> 
      <name>WASdev Repository</name> 
      <url>http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/repository/</url> 
      <layout>default</layout> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
      <releases> 
       <enabled>true</enabled> 
      </releases> 
     </pluginRepository> 
    </pluginRepositories> 
    ... 
    ... 
    <build> 
     <pluginManagement> 
      <plugins> 
      <plugin> 
       <groupId>com.ibm.websphere.wlp.maven.plugins</groupId> 
       <artifactId>liberty-maven-plugin</artifactId> 
       <version>1.0</version> 
       <configuration> 
        <serverHome>D:\tool\wlp</serverHome> 
        <serverName>LP1</serverName> 
       </configuration> 

       <executions> 
        <execution> 
         <id>start-server</id> 
         <phase>pre-integration-test</phase> 
         <goals> 
         <goal>start-server</goal> 
         </goals> 
         <configuration> 
         <serverHome>D:\tool\wlp</serverHome> 
         <serverName>LP1</serverName> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 

我有我的自由簡介安裝在D:\tool\wlp並創建了一個名爲服務器LP1。當我啓動服務器憑藉這個進球:liberty:start-server,我會打這樣的錯誤:

[ERROR] Failed to execute goal com.ibm.websphere.wlp.maven.plugins:liberty-maven-plugin:1.0:start-server (default-cli) on project SpringSecurity4: CWWKM2002E: Failed to invoke [D:\tool\wlp\bin\server.bat, start, LP1, --clean]. RC= 22 but expected=0.

我不知道22分的手段?忘記那個神祕數字,只有IBM人可以解碼這個數字。當我嘗試這對cmd>mvn start LP1,我有這樣的輸出:

The filename, directory name, or volume label syntax is incorrect. Starting server LP1. Server LP1 start failed. Check server logs for details.

日誌中的內容物如下所示,但我還是很沒能消息的幕後進行解碼。希望你們能幫忙。

arg0=LP1 arg1=--status:start exit=22 

        Command: "C:\Documents and Settings\kok.hoe.loh\Tool\jdk1.6.0_30\jre\bin\java" 
-XX:MaxPermSize=256m "-javaagent:D:\tool\wlp\bin\tools\ws-javaagent.jar" -jar "D:\tool\wlp\bin\tools\ws-server.jar" --batch-file start LP1 --clean 
       Java home: C:\Documents and Settings\kok.hoe.loh\Tool\jdk1.6.0_30\jre 
       Install root: D:/tool/wlp/ 
      System libraries: D:/tool/wlp/lib/ 
       User root: D:/tool/wlp/usr/ 
      Server config: D:/tool/wlp/usr/servers/LP1/ 
      Server output: D:/tool/wlp/usr/servers/LP1/ 
+1

如果Windows計算機速度較慢/虛擬化,則可能與PM91596相關(http://www-01.ibm.com/support/docview.wss?uid=swg1PM91596)。無論如何,這實際上是一個內部錯誤,所以我建議與IBM開一個PMR。 –

+1

進程退出代碼記錄在WAS的信息中心(http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_command_server)由於22是一個內部錯誤在這種情況下沒有幫助,但我認爲這將有助於參考。 – Alasdair

+0

@bkail該報告提到,通過將'bootstrap.properties'中的server.start.wait.time配置爲更高的值應該可以解決問題。但我不知道如何在server.xml中配置它? – huahsin68

回答

2

當試圖從命令行啓動WSLP時,我有相同的結果。在我來說,我跟蹤它歸結爲已經被設置出於某種原因對LOG_FILE環境變量:

LOG_FILE=C:\Users\AA_EB0~1\AppData\Local\Temp\ihp_custom_batches.log 

WSLP的server.bat也使用了這種變化,但假定它是相對的。執行以下命令時:

start /b "" !JAVA_CMD_QUOTED!w !JVM_OPTIONS! !JAVA_PARAMS_QUOTED! --batch-file !PARAMS_QUOTED! > "%X_LOG_DIR%\%X_LOG_FILE%" 2>&1 

它導致「文件名,目錄名稱或卷標語法不正確。」錯誤

因爲我不知道拆除現有環境變量的影響,我改變

if not defined LOG_FILE (
    set X_LOG_FILE=console.log 
) else (
    set X_LOG_FILE=!LOG_FILE! 
) 

set X_LOG_FILE=console.log 
在server.bat

,並能夠啓動後WSLP沒有問題那。

+0

Bravo你是天才。有用! – huahsin68

+1

斑點!LOG_ *環境變量的非常不幸的衝突,但不是在不破壞已建立的env文件的情況下可輕易更改的東西。我想知道是否將LOG_FILE設置爲server.env中的某個參數可以解決由另一個應用程序設置的LOG_FILE變量? – ebullient

+1

@ huahsin68不推薦和支持更改腳本文件。檢查[這篇文章](http://stackoverflow.com/a/28963232/3701228)爲支持的解決方案使用'server.env'。 – Gas

1

這看起來像PMR 91596問題,你就需要獲得一個iFix的爲它配置更長的服務器啓動超時(bootstrap.properties文件「server.start.wait.time」屬性)。

相關問題