我想用Java编写CD / DVD刻录程序。搜索后,我在here找到了此解决方案。我跟着它,但是当我运行这个程序时,我收到了错误:
Exception in thread "main" com4j.ExecutionException: com4j.ComException: 80040111 CoCreateInstance failed : ClassFactory cannot supply requested class : .\com4j.cpp:153
at com4j.ComThread.execute(ComThread.java:203)
at com4j.Task.execute(Task.java:25)
at com4j.COM4J.createInstance(COM4J.java:97)
at com4j.COM4J.createInstance(COM4J.java:72)
at com.ms.imapi2.ClassFactoryExt.createMsftDiscFormat2Data(ClassFactoryExt.java:16)
at com.ms.main.MainClass.main(MainClass.java:19)
Caused by: com4j.ComException: 80040111 CoCreateInstance failed : ClassFactory cannot supply requested class : .\com4j.cpp:153
at com4j.Native.createInstance(Native Method)
at com4j.COM4J$CreateInstanceTask.call(COM4J.java:117)
at com4j.COM4J$CreateInstanceTask.call(COM4J.java:104)
at com4j.Task.invoke(Task.java:51)
at com4j.ComThread.run0(ComThread.java:153)
at com4j.ComThread.run(ComThread.java:134)
注意 我在64位Windows 7上使用64位JVM运行该程序。
我试图解决的问题:
1)我使用regsvr32
注册com4j.dll
2)添加com4j.dll
作为com4j.jar
代码中是否存在问题或我必须做的其他事情才能使其运行。
答案 0 :(得分:0)
您不需要在系统中注册com4j.dll。相反,你应该注册你的3d-part dll。
还要确保您有使用COM dll的java类。可以使用Com4J文件夹中的 tlbimp.jar 生成它们。
java -jar tlbimp.jar -o "..." -p "..." absolute_path_for_dll
,其中
使用示例:
java -jar tlbimp.jar -o C:/projects/com4j/generated -p com.example C:/projects/dll/3d-part.dll
查看tutorial了解详情。