Maven无法在Windows上启动Liberty Profile

时间:2013-08-29 01:57:16

标签: java eclipse maven websphere-liberty

我正在尝试配置Maven以从Eclipse启动WebSphere Liberty Profile。无论如何,我发现它在Linux上运行但在Windows上不起作用。以下是pom.xml上的设置。 (请注意,相关代码将在此处发布)

     <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安装了Liberty Profile,并创建了一个名为LP1的服务器。当我使用此目标启动服务器时:liberty:start-server,我将遇到此错误:

  

[错误]无法执行目标   com.ibm.websphere.wlp.maven.plugins:自由 - Maven的插件:1.0:启动服务器   项目SpringSecurity4上的(default-cli):CWWKM2002E:无法调用   [D:\ tool \ wlp \ bin \ server.bat,start,LP1, - clean]。 RC = 22但是   预期= 0。

我不确定22意味着什么?忘记那个神秘的数字,只有IBM人可以解码这个数字。当我在cmd&gt;上尝试此操作时mvn start LP1,我有这个输出:

  

文件名,目录名或卷标语法不正确。   启动服务器LP1。服务器LP1启动失败。检查服务器日志   的信息。

日志的内容如下所示,但我仍然无法解码场景背后的消息。希望你们能帮忙。

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/

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:1)

这看起来像PMR 91596问题,您需要获取一个iFix来配置更长的服务器启动超时(bootstrap.properties文件中的“server.start.wait.time”属性)。