2014-09-24 70 views

回答

1

我发现我需要提供各种JAX-RS JAR文件来通过命令行运行它时才能使用它。使用Gradle中的configurations.runtime.asPath属性非常简单,它通过了我在构建项目时已经解决的所有RESTEasy文物。

import org.apache.tools.ant.taskdefs.condition.Os 

task enunciate(type:Exec) { 
    if (Os.isFamily(Os.FAMILY_WINDOWS)) { 
     //on windows: 
     commandLine 'cmd', '/c', 
     'enunciate-1.29\\bin\\enunciate.bat -Edocs docs -f enunciate.xml -cp "' + configurations.runtime.asPath + 
     '" src/com/company/rest/RestApi.java' 
    } else { 
     //on linux 
     commandLine './enunciate-1.29/bin/enunciate -Edocs docs -f enunciate.xml -cp "' + configurations.runtime.asPath + 
     " src/com/company/rest/RestApi.java' 
    } 

    //store the output instead of printing to the console: 
    standardOutput = new ByteArrayOutputStream() 

    //extension method stopTomcat.output() can be used to obtain the output: 
    ext.output = { 
    return standardOutput.toString() 
    } 
} 
相关问题