I want to put a file into the recycle bin in Windows using Java. So that the user is able to restore it.
Therefore I use the library JNA from Github (jna-platform-4.2.2.jar) which accesses native Windows functions.
My Code:
public static boolean moveToTrashBin(File file){
FileUtils fileUtils = FileUtils.getInstance();
if(fileUtils.hasTrash()){ // retus true
try{
fileUtils.moveToTrash(new File[]{file}); // throws ClassNotFoundException
retu true;
} catch (IOException e) {
e.printStackTrace();
}
}
retu false;
}
There are no compile time errors but when I try to run it, the line fileUtils.moveToTrash(..) throws the following ClassNotFoundExeption:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/jna/win32/StdCallLibrary at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:367) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:367) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at com.sun.jna.platform.win32.W32FileUtils.moveToTrash(W32FileUtils.java:28) at DropboxFix.Gui.Tools.moveToTrashBin(Tools.java:21)
I use IntelliJ as IDE and added the library under "Project Structure -> Libraries -> Add".
How can I fix this?
