加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – com4j包装器gen问题

发布时间:2020-12-15 02:32:04 所属栏目:Java 来源:网络整理
导读:我正在尝试使用tlbimp-20110320.jar为com4j生成包装器.我也尝试了同样错误的2008版本.即使我尝试运行tut中的示例,我也会遇到相同的错误. C:UsersmatthewDocumentsNetBeansProjectstest"C:Program Files (x86)Javajre7binjava.exe" -jar tlbimp-201
我正在尝试使用tlbimp-20110320.jar为com4j生成包装器.我也尝试了同样错误的2008版本.即使我尝试运行tut中的示例,我也会遇到相同的错误.

C:UsersmatthewDocumentsNetBeansProjectstest>"C:Program Files (x86)Javajr
e7binjava.exe" -jar tlbimp-20110320.jar -o excel -p excel "C:Program Files (x
86)Microsoft OfficeOffice14EXCEL.EXE"
Exception in thread "main" java.lang.NoClassDefFoundError: org/kohsuke/args4j/Cm
dLineException
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.kohsuke.args4j.CmdLineException

    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 6 more

在Iceman提供了一个指向所需库的链接后,我能够让它运行一点.但是我不得不将arg4j内容复制到tlbimp jar中,并将com4j内容复制到tlbimp jar中.现在我明白了

C:UsersmatthewDocumentsNetBeansProjectstest>"C:Program Files (x86)Javajr
e7binjava.exe" -jar tlbimp-20110320.jar -o excel -p excel "C:Program Files (x
86)Microsoft OfficeOffice14EXCEL.EXE"
Generating definitions from Excel
A referenced type library "Office" is generated into the same package "excel"
Unable to handle the type SAVEARRAY(Variant)*
  method ConnectData
  interface IRtdServer
A referenced type library "VBIDE" is generated into the same package "excel"
Exception in thread "main" java.lang.NullPointerException
    at com4j.tlbimp.driver.Driver$1.resolve(Driver.java:64)
    at com4j.tlbimp.Generator$LibBinder.<init>(Generator.java:382)
    at com4j.tlbimp.Generator.getTypeLibInfo(Generator.java:686)
    at com4j.tlbimp.Generator.getTypeName(Generator.java:663)
    at com4j.tlbimp.TypeBinding.bind(TypeBinding.java:173)
    at com4j.tlbimp.MethodBinder.declareReturnType(MethodBinder.java:542)
    at com4j.tlbimp.MethodBinder.declareWithDefaults(MethodBinder.java:399)
    at com4j.tlbimp.MethodBinder.declare(MethodBinder.java:118)
    at com4j.tlbimp.InvocableInterfaceGenerator.generateMethod(InvocableInte
rfaceGenerator.java:39)
    at com4j.tlbimp.InterfaceGenerator.generate(InterfaceGenerator.java:94)
    at com4j.tlbimp.Generator$LibBinder.generate(Generator.java:491)
    at com4j.tlbimp.Generator.generate(Generator.java:112)
    at com4j.tlbimp.driver.Driver.run(Driver.java:107)
    at com4j.tlbimp.driver.Main.doMain(Main.java:132)
    at com4j.tlbimp.driver.Main.main(Main.java:56)

解决方法

tlbimp-20110320.jar需要 args4j-2.0.1.jar和 com4j-20110320.jar
注意:com4j-20110320.jar,有必要将名称更改为com4j.jar

附加信息

最新版本(tlbimp-2.1.jar)的tlbimp需要args4j-2.0.8.jar和com4j-2.1.jar.在此版本中,不需要更改文件名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读