2012-01-26 19 views
2

我在使用IKVM(版本:7.0.4335.0)從JAR文件創建DLL文件時遇到問題。IKVM 7.0 - 如何從JAR成功創建DLL文件

ikvm -jar MyTest1.jar 

我能看到的是System.out.print(「測試」)在控制檯輸出:

的JAR本身可以,如果我用命令打開它運行。

然而,將其轉換爲一個DLL有:

ikvm MyTest1.jar 

給我的錯誤:

C:\Users\de\Desktop>ikvm MyTest1.jar 
Exception in thread "main" java.lang.ClassNotFoundException: MyTest1.jar 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(AccessController.java:279 
) 
    at java.security.AccessController.doPrivileged(AccessController.java:520 
) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:450) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:385) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:503) 
    at IKVM.Internal.ClassLoaderWrapper.LoadClassImpl(Unknown Source) 
    at IKVM.Internal.ClassLoaderWrapper.LoadClassByDottedNameFastImpl(Unknow 
n Source) 
    at IKVM.Internal.ClassLoaderWrapper.LoadClassByDottedName(Unknown Source 
) 
    at IKVM.NativeCode.java.lang.Class.forName0(Unknown Source) 
    at java.lang.Class.forName(Class.java:361) 

根據文檔IKVM Doc我必須這樣做:

If ikvm reports a ClassNotFoundException, check whether the CLASSPATH environment variable is set. If so, try clearing the CLASSPATH or adding the current directory to it so ikvm can find the class in the current directory.

但(系統環境)classpath變量設置正確。 (CLASSPATH =;/JAVA_HOME = C:\ Program Files文件\的Java \ jdk1.6.0_21 /路徑=%JAVA_HOME%\ bin中)

更新:我只是可以建立使用this張貼在這裏的DLL文件。無論如何,上述問題仍然存在,我想知道我需要做什麼來解決這個問題。

感謝您的幫助。

回答

14

如果你想創建一個DLL,那麼你需要使用ikvmc而不是ikvm。這就像java和javac。

+1

感謝您的幫助。使用命令: ikvmc -out:MyJavaPlugin.dll MyTest2.jar 它的工作! –

+4

如果這個答案幫助你,那麼你應該接受它。 – Horcrux7