You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建成功但无法在Open Liberty 3.7.1部署Jar,返回码RC=24

问题:Open Liberty启动失败(RC=24,默认目录非绝对路径错误)

尝试将WebSphere项目迁移至Open Liberty,Maven clean+build 执行无报错且编译成功,但运行 liberty:run 命令时失败,返回错误码RC=24。查看FFDC日志发现核心错误为java.lang.AssertionError: Default directory is not an absolute path。

Maven执行错误日志

[ERROR] Failed to execute goal io.openliberty.tools:liberty-maven-plugin:3.7.1:run (default-cli) on project ACONEAR: CWWKM2002E: Failed to invoke ["C:\git\repos\eclipse\acon\ACONEAR\target\liberty\wlp\bin\server.bat", run, defaultServer]. RC= 24 but expected=0. -> [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal io.openliberty.tools:liberty-maven-plugin:3.7.1:run (default-cli) on project ACONEAR: CWWKM2002E: Failed to invoke ["C:\git\repos\eclipse\acon\ACONEAR\target\liberty\wlp\bin\server.bat", run, defaultServer]. RC= 24 but expected=0.

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

Caused by: org.apache.maven.plugin.MojoExecutionException: CWWKM2002E: Failed to invoke ["C:\git\repos\eclipse\acon\ACONEAR\target\liberty\wlp\bin\server.bat", run, defaultServer]. RC= 24 but expected=0.
at org.codehaus.mojo.pluginsupport.MojoSupport.execute(MojoSupport.java:137)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
... 20 more

Caused by: CWWKM2002E: Failed to invoke ["C:\git\repos\eclipse\acon\ACONEAR\target\liberty\wlp\bin\server.bat", run, defaultServer]. RC= 24 but expected=0.
at io.openliberty.tools.ant.ServerTask.doRun(ServerTask.java:376)
at io.openliberty.tools.ant.ServerTask.execute(ServerTask.java:145)
at io.openliberty.tools.maven.server.RunServerMojo.doExecute(RunServerMojo.java:131)
at org.codehaus.mojo.pluginsupport.MojoSupport.execute(MojoSupport.java:122)
... 22 more

[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :ACONEAR

FFDC错误日志

Exception = java.lang.NoClassDefFoundError
Source = com.ibm.ws.kernel.launch.internal.ProvisionerImpl
probeid = 337
Stack Dump = java.lang.NoClassDefFoundError: java.nio.file.FileSystems$DefaultFileSystemHolder (initialization failure)
at java.lang.J9VMInternals.initializationAlreadyFailed(J9VMInternals.java:96)
at java.nio.file.FileSystems.getDefault(FileSystems.java:187)
at java.io.File.toPath(File.java:2245)
at org.eclipse.osgi.storage.url.reference.ReferenceURLConnection.checkRead(ReferenceURLConnection.java:73)
at org.eclipse.osgi.storage.url.reference.ReferenceURLConnection.connect(ReferenceURLConnection.java:63)
at org.eclipse.osgi.storage.url.reference.ReferenceURLConnection.getInputStream(ReferenceURLConnection.java:113)
at java.net.URL.openStream(URL.java:1079)
at com.ibm.ws.kernel.launch.internal.ProvisionerImpl.installKernelBundle(ProvisionerImpl.java:291)
at com.ibm.ws.kernel.launch.internal.ProvisionerImpl.installBundles(ProvisionerImpl.java:248)
at com.ibm.ws.kernel.launch.internal.ProvisionerImpl.initialProvisioning(ProvisionerImpl.java:97)
at com.ibm.ws.kernel.launch.internal.FrameworkManager.innerLaunchFramework(FrameworkManager.java:490)
at com.ibm.ws.kernel.launch.internal.FrameworkManager.launchFramework(FrameworkManager.java:316)
at com.ibm.ws.kernel.launch.internal.LauncherDelegateImpl.doFrameworkLaunch(LauncherDelegateImpl.java:116)
at com.ibm.ws.kernel.launch.internal.LauncherDelegateImpl.launchFramework(LauncherDelegateImpl.java:102)
at com.ibm.ws.kernel.boot.internal.KernelBootstrap.go(KernelBootstrap.java:215)
at com.ibm.ws.kernel.boot.Launcher.handleActions(Launcher.java:243)
at com.ibm.ws.kernel.boot.Launcher.createPlatform(Launcher.java:119)
at com.ibm.ws.kernel.boot.cmdline.EnvCheck.main(EnvCheck.java:61)
at com.ibm.ws.kernel.boot.cmdline.EnvCheck.main(EnvCheck.java:37)
Caused by: java.lang.AssertionError: Default directory is not an absolute path
at sun.nio.fs.WindowsFileSystem.<init>(WindowsFileSystem.java:73)
at sun.nio.fs.WindowsFileSystemProvider.<init>(WindowsFileSystemProvider.java:65)
at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:48)
at java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:119)
at java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:100)
at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:109)
at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:107)
at java.security.AccessController.doPrivileged(AccessController.java:678)
at java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:107)
at java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:101)
... 18 more

Messages.log内容

[6/4/25 10:33:08:556 EDT] 00000001 com.ibm.ws.logging.internal.impl.IncidentImpl                I FFDC1015I: An FFDC Incident has been created: "java.lang.AssertionError: Default directory is not an absolute path com.ibm.ws.kernel.launch.internal.ProvisionerImpl 337" at ffdc_25.06.04 10.33.08.0.log
[6/4/25 10:33:08:599 EDT] 00000001 com.ibm.ws.logging.internal.impl.IncidentImpl                I FFDC1015I: An FFDC Incident has been created: "java.lang.NoClassDefFoundError: java.nio.file.FileSystems$DefaultFileSystemHolder (initialization failure) com.ibm.ws.kernel.launch.internal.ProvisionerImpl 337" at ffdc_25.06.04_10.33.08.1.log
[6/4/25 10:33:08:620 EDT] 00000001 com.ibm.ws.logging.internal.impl.IncidentImpl                I FFDC1015I: An FFDC Incident has been created: "java.lang.NoClassDefFoundError: java.nio.file.FileSystems$DefaultFileSystemHolder (initialization failure) com.ibm.ws.kernel.launch.internal.ProvisionerImpl checkInstallStatus" at ffdc_25.06.04_10.33.08.2.log
[6/4/25 10:33:08:630 EDT] 00000001 com.ibm.ws.logging.internal.impl.IncidentImpl                I FFDC1015I: An FFDC Incident has been created: "java.lang.AssertionError: Default directory is not an absolute path com.ibm.ws.kernel.launch.internal.ProvisionerImpl checkInstallStatus" at ffdc_25.06.04_10.33.08.3.log
解决方案
  • 修复HOME环境变量路径:
    Windows系统下,检查%USERPROFILE%或%HOME%环境变量是否为绝对路径。打开命令行输入echo %USERPROFILE%查看,若路径无效或为相对路径,手动设置为正确的绝对路径(例如C:\Users\你的用户名),重启命令行后重试。
  • 清理并重建Open Liberty环境:
    删除项目根目录下的target/liberty文件夹,重新执行mvn liberty:run,让Maven重新下载并配置Open Liberty。
  • 验证JDK兼容性:
    确保使用的JDK版本与Open Liberty 3.7.1兼容,推荐使用OpenJDK 8、11或17,避免使用非标准JDK或过旧版本。
  • 手动指定Open Liberty安装路径:
    在pom.xml中为liberty-maven-plugin添加installDirectory配置,指定绝对路径的安装目录,示例:
    <plugin>
      <groupId>io.openliberty.tools</groupId>
      <artifactId>liberty-maven-plugin</artifactId>
      <version>3.7.1</version>
      <configuration>
        <installDirectory>C:\openliberty\wlp</installDirectory>
        <!-- 其他原有配置 -->
      </configuration>
    </plugin>
    

内容的提问来源于stack exchange,提问作者IcyNeko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:30:55