@Test publicvoid testSimplePath(Path base) throws IOException { // Test that we can look up in directories in the default file system.
Path src = base.resolve("src");
tb.writeJavaFiles(src, "package p; class C { }");
Path c = src.resolve("p/C.java");
Path x = base.resolve("src2/p/C.java"); try (StandardJavaFileManager fm = javaCompiler.getStandardFileManager(null, null, null)) {
fm.setLocationFromPaths(StandardLocation.SOURCE_PATH, List.of(src));
checkContains(fm, StandardLocation.SOURCE_PATH, c, true);
checkContains(fm, StandardLocation.SOURCE_PATH, x, false);
}
}
@Test publicvoid testJarPath(Path base) throws IOException { // Test that we can look up in jar files on a search path. // In this case, the path we look up must come from open file system // as used by the file manager.
Path src = base.resolve("src");
tb.writeJavaFiles(src, "package p; class C { }");
Path classes = Files.createDirectories(base.resolve("classes")); new JavacTask(tb)
.options("-sourcepath", src.toString())
.outdir(classes)
.files(findJavaFiles(src))
.run()
.writeAll();
Path jar = base.resolve("classes.jar"); new JarTask(tb).run("cf", jar.toString(), "-C", classes.toString(), "p");
Path c = src.resolve("p/C.java");
Path x = base.resolve("src2/p/C.java");
@Test publicvoid testJarFSPath(Path base) throws IOException { // Test that we can look up in non-default file systems on the search path, // such as an open jar file system.
Path src = base.resolve("src");
tb.writeJavaFiles(src, "package p; class C { }");
Path classes = Files.createDirectories(base.resolve("classes")); new JavacTask(tb)
.options("-sourcepath", src.toString())
.outdir(classes)
.files(findJavaFiles(src))
.run()
.writeAll();
Path jar = base.resolve("classes.jar"); new JarTask(tb).run("cf", jar.toString(), "-C", classes.toString(), "p");
Path c = src.resolve("p/C.java");
Path x = base.resolve("src2/p/C.java");
void checkContains(StandardJavaFileManager fm, Location l, FileObject fo, boolean expect) throws IOException { boolean found = fm.contains(l, fo); if (found) { if (expect) {
out.println("file found, as expected: " + l + " " + fo.getName());
} else {
error("file not found: " + l + " " + fo.getName());
}
} else { if (expect) {
error("file found unexpectedly: " + l + " " + fo.getName());
} else {
out.println("file not found, as expected: " + l + " " + fo.getName());
}
}
}
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.