Wildfly CLI 不适合我

Posted

技术标签:

【中文标题】Wildfly CLI 不适合我【英文标题】:Wildfly CLI not working for me 【发布时间】:2014-07-06 13:47:16 【问题描述】:

我所做的只是下载 wildfly-8.1.0.CR2 并解压缩它。 Standalone.bat 和 add-user.bat 工作,但 jboss-cli.bat 不工作。

F:\wildfly-8.1.0.CR2\bin>jboss-cli

java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi64-1.9 in
java.library.path, no jansi-1.9 in java.library.path, no jansi in java.library.path,
D:\pgarner\AppData\Local\Temp\jansi-64-1.9.dll: The application has failed to start
because its side-by-side configuration is incorrect. Please see the application event
log or use the command-line sxstrace.exe tool for more detail]

    at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:184)

    at org.fusesource.hawtjni.runtime.Library.load(Library.java:142)

    at org.fusesource.jansi.internal.Kernel32.<clinit>(Kernel32.java:37)

    at org.fusesource.jansi.WindowsAnsiOutputStream.<clinit>(WindowsAnsiOutputStream.java:52)

    at org.jboss.aesh.terminal.WindowsTerminal.init(WindowsTerminal.java:53)

    at org.jboss.aesh.console.Console.setTerminal(Console.java:193)

    at org.jboss.aesh.console.Console.reset(Console.java:154)

    at org.jboss.aesh.console.Console.<init>(Console.java:105)

    at org.jboss.aesh.console.Console.<init>(Console.java:101)

    at org.jboss.as.cli.impl.Console$Factory.getConsole(Console.java:85)

    at org.jboss.as.cli.impl.Console$Factory.getConsole(Console.java:78)

    at org.jboss.as.cli.impl.CommandContextImpl.initBasicConsole(CommandContextImpl.java:349)

    at org.jboss.as.cli.impl.CommandContextImpl.<init>(CommandContextImpl.java:296)

    at org.jboss.as.cli.impl.CommandContextFactoryImpl.newCommandContext(CommandContextFactoryImpl.java:76)

    at org.jboss.as.cli.impl.CliLauncher.initCommandContext(CliLauncher.java:273)

    at org.jboss.as.cli.impl.CliLauncher.main(CliLauncher.java:253)

    at org.jboss.as.cli.CommandLineMain.main(CommandLineMain.java:34)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)

    at org.jboss.modules.Module.run(Module.java:312)

    at org.jboss.modules.Main.main(Main.java:460)

Press any key to continue . . .

当我使用standalone.bat 启动 Wildfly 时,我在 server.log 中看到 java.library.path 的以下条目:

java.library.path = F:\Java\jdk1.7.0_45\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;F:\WANdisco\uberSVN \bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;F:\GnuPG\pub;F:\7- Zip;"E:\WebTest\build\bin";F:\WANdisco\uberSVN\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\ WindowsPowerShell\v1.0\;F:\GnuPG\pub;F:\7-Zip;.

当我尝试运行 jboss-cli 时,以下文件确实出现在我的文件系统中:

D:\pgarner\AppData\Local\Temp\jansi-64-1.9.dll

我也尝试使用 wildfly-8.0.0.Final 而不是 wildfly-8.1.0.CR2 并且发生了同样的问题。

如何解决这个问题?我认为 CLI 在从 zip 文件中提取所有文件后应该可以直接使用。

【问题讨论】:

【参考方案1】:

我们面临同样的错误,问题是由于 jansi dll 依赖关系。事实上,您需要安装与您的平台相对应的 Microsoft Visual C++ 2008 Redistributable Package。对于 x64,您可以点击此链接:

http://www.microsoft.com/en-US/download/details.aspx?id=2092

【讨论】:

天哪,有人会认为 Wildfly 团队会知道这种事情。用 Java 编写的应用服务器需要安装 Microsoft Visual C++ 2008,这似乎违反直觉!【参考方案2】:

有类似的问题。我可以启动 Wildfly 并毫无错误地部署我的应用程序,但每次我重新部署我的应用程序时,都会收到以下错误:

原因:

java.lang.UnsatisfiedLinkError:无法加载库。理由:[没有 java.library.path 中的 jansi64-1.9,java.library.path 中没有 jansi-1.9, java.library.path 中没有 jansi,本机库 C:\Users\zb\AppData\Local\Temp\jansi-64-1.9.dll 已加载 另一个类加载器]

这个 jansi 库在部署后似乎卡住了。

暂时重启服务器会有帮助。

【讨论】:

你解决过这个问题吗?在我的 Windows 构建服务器上运行 wildfly 作为托管 arquillian 容器时,我遇到了完全相同的问题。第一个实例运行,但它想创建另一个wildfly实例,发生了这个确切的错误。

以上是关于Wildfly CLI 不适合我的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 CLI 将模块添加到 Wildfly

当我无法访问 CLI 工具时,如何关闭 JBoss Wildfly?

如何通过 CLI 获取 Wildfly 服务器状态?

WildFly CLI 针对嵌入式服务器运行脚本

如何在 Wildfly 中使用 CLI 设置消息传递子系统

如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列