0

我试图将 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>

我将 Liberty Profile 安装在D:\tool\wlp并创建了一个名为LP1. 当我以这个目标启动服务器时:liberty:start-server,我会遇到这个错误:

[错误] 无法在项目 SpringSecurity4 上执行目标 com.ibm.websphere.wlp.maven.plugins:liberty-maven-plugin:1.0:start-server (default-cli):CWWKM2002E:无法调用 [D:\tool\ wlp\bin\server.bat、启动、LP1、--clean]。RC = 22 但预期 = 0。

我不确定 22 是什么意思?忘掉那个神秘的数字吧,只有 IBM 的人才能破解这个数字。当我在cmd>上尝试这个时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/
4

2 回答 2

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。

于 2013-12-13T15:23:49.867 回答
1

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

于 2013-09-04T15:30:44.157 回答