Java 如何创建一个JAR文件,将文件夹中的特定文件移动到另一个目录?

Java 如何创建一个JAR文件,将文件夹中的特定文件移动到另一个目录?,java,file,jar,directory,exe,Java,File,Jar,Directory,Exe,我创建了一个Java程序,基本上将特定“测试”文件夹中的所有文件移动到计算机上完全不同的特定目录。如何将“test”文件夹以及java和类文件打包成一个可运行的JAR文件 import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import javax.swing.JOptionPane; public class

我创建了一个Java程序,基本上将特定“测试”文件夹中的所有文件移动到计算机上完全不同的特定目录。如何将“test”文件夹以及java和类文件打包成一个可运行的JAR文件

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import javax.swing.JOptionPane; 

public class Test 
{
    public static void main(String[] args) throws IOException 
    {
        File sourceFolder = new File("test");
        String dataFolder = System.getenv("APPDATA");

        File destinationFolder = new File(dataFolder + "\\testing");

        copyFolder(sourceFolder, destinationFolder);
    }
    private static void copyFolder(File sourceFolder, File destinationFolder) throws IOException
    {
        if (sourceFolder.isDirectory()) 
        {
            if (!destinationFolder.exists()) 
            {
                destinationFolder.mkdir();
            }

            String files[] = sourceFolder.list();

            for (String file : files) 
            {
                File srcFile = new File(sourceFolder, file);
                File destFile = new File(destinationFolder, file);
                copyFolder(srcFile, destFile);
            }
            JOptionPane.showMessageDialog(null,"File installed successfully","Title",1);
        }
        else
        {
            Files.copy(sourceFolder.toPath(), destinationFolder.toPath(), StandardCopyOption.REPLACE_EXISTING);
        }
    }
}
我在移动测试文件夹时遇到此错误:

Exception in thread "main" java.nio.file.NoSuchFileException: test
        at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
        at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
        at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
        at java.base/sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:98)
        at java.base/sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:283)
        at java.base/java.nio.file.Files.copy(Files.java:1298)
        at Test.copyFolder(test.java:39)
        at Test.main(test.java:16)

如果要在代码中创建.jar文件,请使用。如果要在命令行中执行此操作,请参见。请注意,有些构建工具只需在构建文件中的几行就可以完成这项工作,例如。我在命令行中完成了这项工作,jar文件工作正常,但是,无论何时移动测试文件夹,或者如果移动整个jar文件,它都不再工作。请更具体地说,而不是“它不工作”你怎么知道它不起作用?用足够的细节描述你的行为,让其他人可以尝试。如果您遇到异常,请编辑您的问题并显示该异常的整个堆栈跟踪。一旦移动jar文件,我双击它时不会发生任何事情,但如果测试文件夹位于jar文件的同一目录中,它会执行它应该执行的操作。如果双击时.jar文件不工作,您应该通过在命令窗口中运行程序来观察程序的实际输出,使用类似
java-jarc:\Users\josefk\projects\MyProgram.jar