本文整理汇总了Java中org.apache.tools.ant.taskdefs.Javac.execute方法的典型用法代码示例。如果您正苦于以下问题:Java Javac.execute方法的具体用法?Java Javac.execute怎么用?Java Javac.execute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.tools.ant.taskdefs.Javac
的用法示例。
在下文中一共展示了Javac.execute方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: compile
import org.apache.tools.ant.taskdefs.Javac; //导入方法依赖的package包/类
private void compile() {
Javac j = new Javac();
j.setProject(getProject());
j.setTaskName("compile");
j.setSrcdir(new Path(getProject(), sources_path));
File tmp;
if (classes_path != null) {
tmp = getProject().resolveFile(classes_path);
if (!tmp.exists()) {
if (!tmp.mkdir())
throw new BuildException("Could not create temporary folder " + tmp.getAbsolutePath());
}
} else {
// Generate temporary folder
java.nio.file.Path p = mktemp();
temporary.add(p);
tmp = p.toFile();
classes_path = tmp.getAbsolutePath();
}
j.setDestdir(tmp);
// See "Setting Java Compiler Options" in User Guide
j.setDebug(true);
if (jckit.version == JC.V212) {
j.setTarget("1.1");
j.setSource("1.1");
// Always set debug to disable "contains local variables,
// but not local variable table." messages
j.setDebug(true);
} else if (jckit.version == JC.V221) {
j.setTarget("1.2");
j.setSource("1.2");
} else {
j.setTarget("1.5");
j.setSource("1.5");
}
j.setIncludeantruntime(false);
j.createCompilerArg().setValue("-Xlint");
j.createCompilerArg().setValue("-Xlint:-options");
j.createCompilerArg().setValue("-Xlint:-serial");
j.setFailonerror(true);
j.setFork(true);
// set classpath
Path cp = j.createClasspath();
String api = null;
if (jckit.version == JC.V3) {
api = Paths.get(jckit.path, "lib", "api_classic.jar").toAbsolutePath().toString();
} else if (jckit.version == JC.V212) { // V2.1.X
api = Paths.get(jckit.path, "lib", "api21.jar").toAbsolutePath().toString();
} else { // V2.2.X
api = Paths.get(jckit.path, "lib", "api.jar").toAbsolutePath().toString();
}
cp.append(new Path(getProject(), api));
for (JCImport i : raw_imports) {
// Support import clauses with only jar or exp values
if (i.jar != null) {
cp.append(new Path(getProject(), i.jar));
}
}
j.execute();
}
示例2: compile
import org.apache.tools.ant.taskdefs.Javac; //导入方法依赖的package包/类
/**
* Compile generated code.
*
* @param outdir
*/
private void compile(String outdir) throws Exception {
String cp = null;
try {
BufferedReader br = new BufferedReader(
new FileReader(System.getProperty("basedir", ".") + "/target/cp.txt"));
cp = br.readLine();
} catch (Exception e) {
// Don't care
}
if (cp == null) {
cp = "";
}
//using the ant javac task for compilation
Javac javaCompiler = new Javac();
Project codeGenProject = new Project();
Target compileTarget = new Target();
compileTarget.setName(COMPILE_TARGET_NAME);
compileTarget.addTask(javaCompiler);
codeGenProject.addTarget(compileTarget);
codeGenProject.setSystemProperties();
javaCompiler.setProject(codeGenProject);
javaCompiler.setIncludejavaruntime(true);
javaCompiler.setIncludeantruntime(true);
/*
This harmless looking setFork is actually very important. unless the compiler is
forked it wont work!
*/
javaCompiler.setFork(true);
//Create classpath - The generated output directories also become part of the classpath
//reason for this is that some codegenerators(XMLBeans) produce compiled classes as part of
//generated artifacts
String classdir = outdir + "/classes";
File outputLocationFile = new File(classdir);
outputLocationFile.mkdir();
Path classPath = new Path(codeGenProject, classdir);
classPath.add(new Path(codeGenProject, TEST_CLASSES_DIR));
classPath.addExisting(classPath.concatSystemClasspath(), false);
for (int i = 0; i < moduleNames.length; i++) {
classPath.add(new Path(codeGenProject,
MODULE_PATH_PREFIX + moduleNames[i] + CLASSES_DIR));
}
classPath.add(new Path(codeGenProject, cp));
javaCompiler.setClasspath(classPath);
//set sourcePath - The generated output directories also become part of the sourcepath
Path sourcePath = new Path(codeGenProject, outdir);
sourcePath.setLocation(outputLocationFile);
javaCompiler.setSrcdir(sourcePath);
//output the classes into the output dir as well
javaCompiler.setDestdir(outputLocationFile);
javaCompiler.setDebug(true);
javaCompiler.setVerbose(true);
javaCompiler.execute();
// codeGenProject.executeTarget(COMPILE_TARGET_NAME);
}
示例3: compile
import org.apache.tools.ant.taskdefs.Javac; //导入方法依赖的package包/类
/** @param outputLocation */
private void compile(String outputLocation) {
String cp = null;
try {
BufferedReader br = new BufferedReader(
new FileReader(System.getProperty("basedir", ".") + "/target/cp.txt"));
cp = br.readLine();
} catch (Exception e) {
// Don't care
}
if (cp == null) {
cp = "";
}
//using the ant javac task for compilation
Javac javaCompiler = new Javac();
Project codeGenProject = new Project();
Target compileTarget = new Target();
compileTarget.setName(COMPILE_TARGET_NAME);
compileTarget.addTask(javaCompiler);
codeGenProject.addTarget(compileTarget);
codeGenProject.setSystemProperties();
javaCompiler.setProject(codeGenProject);
javaCompiler.setIncludejavaruntime(true);
javaCompiler.setIncludeantruntime(true);
/*
This harmless looking setFork is actually very important. unless the compiler is
forked it wont work!
*/
javaCompiler.setFork(true);
//Create classpath - The generated output directories also become part of the classpath
//reason for this is that some codegenerators(XMLBeans) produce compiled classes as part of
//generated artifacts
File outputLocationFile = new File(outputLocation);
Path classPath = new Path(codeGenProject, outputLocation);
classPath.addExisting(classPath.concatSystemClasspath(), false);
for (int i = 0; i < moduleNames.length; i++) {
classPath.add(new Path(codeGenProject,
MODULE_PATH_PREFIX + moduleNames[i] + CLASSES_DIR));
}
classPath.add(new Path(codeGenProject, cp));
javaCompiler.setClasspath(classPath);
//set sourcePath - The generated output directories also become part of the sourcepath
Path sourcePath = new Path(codeGenProject, outputLocation);
sourcePath.setLocation(outputLocationFile);
javaCompiler.setSrcdir(sourcePath);
//output the classes into the output dir as well
javaCompiler.setDestdir(outputLocationFile);
javaCompiler.setVerbose(true);
javaCompiler.execute();
}