使用JAR 1.6打包Java 1.7+仅限类

时间:2015-06-11 18:47:25

标签: java eclipse jar copy

我有一个问题,我想将文件从一个目录复制到另一个目录。

Path source = Paths.get(files[i].getPath());
Path target = Paths.get(dir.getName() + "/" + files[i].getName());
try {
    Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
    files[i] = target.toFile();
} catch (IOException e) {
    throw new IOException("\t\tUnable to move " + files[i].getName(), e);
}

此代码可以正常工作,但我正在运行JRE 1.8,而我想运行它的系统正在运行JRE 1.6。 路径和文件仅在JRE 1.7之后可用。

有没有办法可以使用eclipse或java编译器用 jar文件打包这些类。

1 个答案:

答案 0 :(得分:2)

通常,您可以使用-target选项生成以指定版本的VM为目标的类文件。例如:javac -target 1.6。查看here以获取更多选项。 但是,当源代码中的类不可用于您指定的目标时,这不起作用。我相信你使用java File IO api和你可以使用的最小目标是1.7。

如果您对命令行感到满意,可以尝试在Java代码中运行OS命令。在我看来,它比尝试重写File和Path java类要容易得多。至少那是我的所作所为。

如果您不知道如何在Java代码中执行OS命令,可以找到很好的示例here