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.在此版本中,不需要更改文件名. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |