Windows 64位上的com4j

 2023-01-20    339  

问题描述

我已经下载了最新的com4j罐子,我正在尝试浏览他们最简单的示例.

我在Windows 7 64位,使用64位JVM.

Windows 64位上的com4j

当我运行命令时(来自com4j教程):

java -jar tlbimp.jar -o wsh -p test.wsh %WINDIR%\system32\wshom.ocx

我得到:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com4j-amd64.dll: %1 is 
not a valid Win32 application
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.load0(Unknown Source)
        at java.lang.System.load(Unknown Source)
        at com4j.COM4J.loadNativeLibrary(COM4J.java:569)
        at com4j.COM4J.<clinit>(COM4J.java:522)
        at com4j.tlbimp.driver.Lib.getLibid(Lib.java:90)
        at com4j.tlbimp.driver.Driver.addLib(Driver.java:38)
        at com4j.tlbimp.driver.Main.doMain(Main.java:123)
        at com4j.tlbimp.driver.Main.main(Main.java:56)
Exception in thread "Com4J shutdown hook" java.lang.NoClassDefFoundError: Could
not initialize class com4j.COM4J
        at com4j.COM4J$3.run(COM4J.java:476)

Java代码提取” com4j-amd64.dll” jar旁边.

推荐答案

最新版本刚刚发布:

/

使用此问题解决了我的所有问题.

其他推荐答案

您有两个选择:

  1. 下载并使用完整的最新版本(位于此处:
    https://github.com/kohsuke/kohsuke/com4j/downloads )
  2. 从最新版本中提取最新的com4j-amd64.dll
    • 下载最新版本(位于此处: https://github.com/kohsuke/kohsuke/com4j/downloads ).
    • 使用您喜欢的ZIP实用程序(阅读7ZIP)
    • 打开com4j.jar

    • 提取com4j.jar \ com4j \ com4j-x64.dll到您的应用程序的基本目录
    • (可选)使用REGSVR32 <path to dll>\com4j-x64.dll
    • 注册DLL

其他推荐答案

我起初有类似的结果.我发现由com4j生产的com4j-amd64.dll是空的.补救措施是从COM4J JAR文件中提取文件,并通过手动操作将其放入相关目录中.然后,com4j将不会自动生产该文件,因为它已经存在.因此,检查文件是否为第一步-CARL

以上所述是小编给大家介绍的Windows 64位上的com4j,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/25989.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。