1
Я пытаюсь прочитать значение из реестра Windows. Этот код работает хорошо, когда я запускаю его в Intellij Idea.com/sun/deploy/util/WinRegistry throws ClassNotFoundException Intellij Idea
public static String getInstallLocationValue() {
String value = WinRegistry.getString(
WinRegistry.HKEY_LOCAL_MACHINE,
"SOFTWARE\\" + ApplicationConstants.APP_NAME + "\\",
"InstallLocation");
System.out.println("Windows Distribution = " + value);
return value;
}
Но он выходит из строя, когда я запускаю его из баночки файла:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/deploy/util/WinRegistry at com.doos.utils.RegistryManager.getInstallLocationValue(RegistryManager.java:10) at com.doos.core.Main.main(Main.java:51)
Caused by: java.lang.ClassNotFoundException: com.sun.deploy.util.WinRegistry
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
Есть ли у вас какие-либо идеи, как это исправить?
Найдено частичное решение [здесь] (http://stackoverflow.com/questions/62289/read-write-to-windows-registry-using-java/6163701#6163701) –
Лучше помогает [JNA] (https : //github.com/java-native-access/jna) Advapi32Util –