【问题标题】:IKVM 7.0 - how to successfully create a DLL file from JARIKVM 7.0 - 如何从 JAR 成功创建 DLL 文件
【发布时间】:2012-01-26 10:10:22
【问题描述】:

我在使用 IKVM(版本:7.0.4335.0)从 JAR 文件创建 DLL 文件时遇到问题。

如果我用命令打开它,JAR 本身可以运行:

ikvm -jar MyTest1.jar

我可以在控制台中看到 System.out.print("test") 输出。

但是,将其转换为 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 我必须这样做:

如果 ikvm 报告 ClassNotFoundException,请检查 CLASSPATH 环境变量是否设置。如果是这样,请尝试清除 CLASSPATH 或将当前目录添加到其中,以便 ikvm 可以在当前目录中找到该类。

但是(系统环境)类路径变量设置正确。 (CLASSPATH=.;/JAVA_HOME=C:\Program Files\Java\jdk1.6.0_21/Path=%JAVA_HOME%\bin;)

更新:我可以在这里使用this 发布 DLL 文件。无论如何,上述问题仍然存在,我想知道我需要做些什么来解决这个问题。

感谢您的帮助。

【问题讨论】:

    标签: dll jar ikvm


    【解决方案1】:

    如果你想创建一个 dll,那么你需要使用 ikvmc 而不是 ikvm。这就像 java 和 javac。

    【讨论】:

    • 感谢您的帮助。使用命令:ikvmc -out:MyJavaPlugin.dll MyTest2.jar 成功了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2013-02-04
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多