本文整理汇总了Java中org.apache.tools.ant.taskdefs.Javac.setClasspath方法的典型用法代码示例。如果您正苦于以下问题:Java Javac.setClasspath方法的具体用法?Java Javac.setClasspath怎么用?Java Javac.setClasspath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.tools.ant.taskdefs.Javac
的用法示例。
在下文中一共展示了Javac.setClasspath方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: compileJavaVersionChecker
import org.apache.tools.ant.taskdefs.Javac; //导入方法依赖的package包/类
private void compileJavaVersionChecker() {
PhetBuildUtils.antEcho( antTaskRunner, "Compiling java version checker for " + project.getName() + ".", getClass() );
Javac javac = new Javac();
javac.setIncludeantruntime( false );//see #2431, should not include full classpath if running from IDE
javac.setSource( BuildToolsConstants.BOOTSTRAP_JAVA_VERSION );//Java version checker must be compiled in lowest language version
javac.setTarget( BuildToolsConstants.BOOTSTRAP_JAVA_VERSION );//so it can run in lowest language version jvms
javac.setClasspath( new Path( antTaskRunner.getProject(), new File( project.getTrunk(), BuildToolsPaths.JNLP_JAR ).getAbsolutePath() ) );
javac.setSrcdir( new Path( antTaskRunner.getProject(), new File( project.getTrunk(), BuildToolsPaths.JAVA_COMMON + "/java-version-checker/src" ).getAbsolutePath() ) );
javac.setDestdir( project.getClassesDirectory() );
javac.setDebugLevel( "lines,source" );
javac.setDebug( true );
//if this fails, you may need to add Oracles's tools.jar to your working copy (ignored from svn for legal reasons)
//see trunk/build-tools/contrib/sun-tools/readme.txt
antTaskRunner.runTask( javac );
PhetBuildUtils.antEcho( antTaskRunner, "Finished compiling java version checker for " + project.getName() + ".", getClass() );
}
示例2: setClassPath
import org.apache.tools.ant.taskdefs.Javac; //导入方法依赖的package包/类
/**
* 设置需要的classpath.
*/
public static void setClassPath(Project p, Javac javac, ClassGenerator cg)
{
Set paths = new HashSet();
parseClassPath(cg.getClassLoader(), paths);
Class[] arr = cg.getClassPaths();
for (int i = 0; i < arr.length; i++)
{
parseClassPath(arr[i].getClassLoader(), paths);
}
ClassPathFilter filter = (ClassPathFilter) cg.getExtParam(ANT_CLASSPATH_FILTER);
Iterator itr = paths.iterator();
Path path = null;
while (itr.hasNext())
{
String tmp = (String) itr.next();
if (filter != null && !filter.isValid(tmp))
{
continue;
}
if (path == null)
{
path = new Path(p, tmp);
}
else
{
path.add(new Path(p, tmp));
}
}
if (path != null)
{
javac.setClasspath(path);
if (ClassGenerator.COMPILE_LOG_TYPE > COMPILE_LOG_TYPE_DEBUG)
{
log.info("Added classpath:" + path);
}
}
}
示例3: compileJava
import org.apache.tools.ant.taskdefs.Javac; //导入方法依赖的package包/类
private void compileJava() {
if ( useJavaVersionChecker ) {
compileJavaVersionChecker();
}
File[] src = project.getAllJavaSourceRoots();
File[] classpath = project.getAllJarFiles();
// trace out all of the dependency information, since this can be very helpful in debugging the build process
for ( PhetProject dependency : project.getAllDependencies() ) {
System.out.println( "dependency: " + dependency.getName() );
for ( File sourceRoot : dependency.getSourceRoots() ) {
System.out.println( "\tsource path: " + sourceRoot.getAbsolutePath() );
}
for ( File jarFile : dependency.getJarFiles() ) {
System.out.println( "\tclass path: " + jarFile.getAbsolutePath() );
}
}
PhetBuildUtils.antEcho( antTaskRunner, "Compiling " + project.getName() + ".", getClass() );
Javac javac = new Javac();
javac.setIncludeantruntime( false );//see #2431, should not include full classpath if running from IDE
javac.setSource( project.getJavaSourceVersion() );
javac.setTarget( project.getJavaTargetVersion() );
javac.setSrcdir( new Path( antTaskRunner.getProject(), toClasspathString( src ) ) );
javac.setDestdir( project.getClassesDirectory() );
//This block enables compilation of mixed java-scala sources by pointing the java compiler at the compiled scala source
// see http://www.codecommit.com/blog/scala/joint-compilation-of-scala-and-java-sources
if ( project.containsScalaSource() ) {
ArrayList<File> all = new ArrayList<File>( Arrays.asList( classpath ) );
all.add( project.getClassesDirectory() );
classpath = all.toArray( new File[all.size()] );
}
javac.setClasspath( new Path( antTaskRunner.getProject(), project.getClasspath() ) );
//"lines,source" appears to be necessary to get line number debug info
javac.setDebugLevel( "lines,source" );
javac.setDebug( true );
antTaskRunner.runTask( javac );
PhetBuildUtils.antEcho( antTaskRunner, "Finished compiling " + project.getName() + ".", getClass() );
}
示例4: 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);
}
示例5: 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();
}