2015-01-08 2 views
0

Java로 CD/DVD 굽기 프로그램을 작성하고 싶습니다. 검색 한 결과 here 이상의이 솔루션을 발견했습니다. 나는 그것을 따라하지만이 프로그램을 실행할 때 오류 가지고 : 나는 64 비트 JVM과 윈도우 7 64 비트에이 프로그램을 실행하고 com4j 80040111 CoCreateInstance failed : ClassFactory에서 요청한 클래스를 제공 할 수 없습니다.

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) 

참고. 내가 해결하기 위해 노력 무엇

:

1) 나는

2) com4j.jar

의 기본 라이브러리로 com4j.dll 추가

에 regsvr32를 사용하여 com4j.dll 등록 코드에 문제가 있거나 다른 내가 가지고있는 뭔가가 있나요 이 일을하기 위해서.

답변

0

시스템에 com4j.dll을 등록 할 필요가 없습니다. 대신이 3D 파트 dll을 등록해야합니다.

또한 COM dll로 작업하기위한 Java 클래스가 있는지 확인하십시오. Com4J 폴더의 tlbimp.jar을 사용하여 생성 할 수 있습니다.

java -jar tlbimp.jar -o "..." -p "..." absolute_path_for_dll 

  • -o - 생성 된 파일이 위치 할 대상 디렉토리.
  • -p - 자바 패키지. 사용

예 : 자세한 내용은

java -jar tlbimp.jar -o C:/projects/com4j/generated -p com.example C:/projects/dll/3d-part.dll 

확인 tutorial.

+0

IMAPI2.dll 및 IMAPIFS.dll에서 동일한 작업을 수행했지만 여전히 예외가 발생합니다. –

관련 문제