当前位置: 首页>>代码示例>>Java>>正文


Java Javac.setClasspath方法代码示例

本文整理汇总了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() );
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:20,代码来源:JavaBuildCommand.java

示例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);
		}
	}
}
 
开发者ID:micromagic,项目名称:eterna,代码行数:41,代码来源:AntCG.java

示例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() );
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:47,代码来源:JavaBuildCommand.java

示例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);
    }
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:67,代码来源:Test.java

示例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();

}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:60,代码来源:WSDL2JavaSuccessTestBase.java


注:本文中的org.apache.tools.ant.taskdefs.Javac.setClasspath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。