2013-08-29 52 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”属性)。

相关问题