У меня проблема с созданием файла DLL из файла JAR с помощью IKVM (версия: 7.0.4335.0).
Сам 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 (системная среда) установлена правильно.(CLASSPATH = .; / JAVA_HOME = C: \ Program Files \ Java \ jdk1.6.0_21 / Path =% JAVA_HOME% \ bin;)
Обновление: я просто мог создать файл DLL, используя this пост здесь.В любом случае, вышеуказанная проблема остается, и мне интересно, что мне нужно сделать, чтобы это исправить.
Спасибо за помощь.