本文整理汇总了Java中javax.tools.Tool.run方法的典型用法代码示例。如果您正苦于以下问题:Java Tool.run方法的具体用法?Java Tool.run怎么用?Java Tool.run使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.tools.Tool
的用法示例。
在下文中一共展示了Tool.run方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: runShellServiceLoader
import javax.tools.Tool; //导入方法依赖的package包/类
private int runShellServiceLoader(String... args) {
ServiceLoader<Tool> sl = ServiceLoader.load(Tool.class);
for (Tool provider : sl) {
if (provider.name().equals("jshell")) {
return provider.run(cmdInStream, cmdout, cmderr, args);
}
}
throw new AssertionError("Repl tool not found by ServiceLoader: " + sl);
}
示例2: compile
import javax.tools.Tool; //导入方法依赖的package包/类
static void compile(String... args) {
StringBuffer sb = new StringBuffer("compile:");
for (String a: args)
sb.append(' ').append(a);
System.err.println(sb);
Tool t = ToolProvider.getSystemJavaCompiler();
int rc = t.run(System.in, System.out, System.err, args);
System.out.flush();
System.err.flush();
if (rc != 0)
throw new Error("compilation failed");
}
示例3: compileJava
import javax.tools.Tool; //导入方法依赖的package包/类
public void compileJava(List<JavacOption> options, List<File> sourceFiles)
{
List<String> args = ImmutableList.<String>builder()
.addAll(options.stream().map(JavacOption::getArgs).flatMap(List::stream).iterator())
.addAll(sourceFiles.stream().map(File::getPath).iterator())
.build();
Tool javac = ToolProvider.getSystemJavaCompiler();
javac.run(null, null, null, args.toArray(new String[args.size()]));
}
示例4: run
import javax.tools.Tool; //导入方法依赖的package包/类
static int run(InputStream in, OutputStream out, OutputStream err, String... arguments) {
ServiceLoader<Tool> loader = ServiceLoader.load(Tool.class, JShellConfigRunner.class.getClassLoader());
Tool jshell = loader.stream()
.map(provider -> provider.get())
.filter(tool -> tool.name().equals("jshell"))
.findFirst()
.orElseThrow(() -> new IllegalStateException("can not find jshell"));
return jshell.run(in, out, err, arguments);
}
示例5: doCompile
import javax.tools.Tool; //导入方法依赖的package包/类
protected static int doCompile(String dir, String classpath, List<String> files, OutputStream out, OutputStream err) {
List<String> args = new ArrayList<String>();
args.add("-target");
args.add("1.5");
args.add("-d");
args.add(dir);
args.add("-cp");
args.add(classpath);
Tool compiler = null;
for (String f : files) {
Tool ftool;
if (f.endsWith(".f3"))
ftool = f3c;
else if (f.endsWith(".java"))
ftool = javac;
else
ftool = null;
if (compiler != null && ftool != null && ftool != compiler) {
throw new IllegalArgumentException("cannot compile both .java and .f3 with same compiler");
}
compiler = ftool;
args.add(f);
}
if (compiler == null)
compiler = f3c;
return compiler.run(null, out, err, args.toArray(new String[args.size()]));
}