当我执行导入的ant任务时,我得到一个例外:
java.lang.ClassNotFoundException: org.apache.tools.ant.util.optional.ScriptRunner
我知道我在任务中的许多地方使用脚本。我像这样使用它们:
<script manager="bsf" language="beanshell" classpath="${bshJar}"><![CDATA[
我想我必须在某种程度上为ant-apache-bsf jar添加一个依赖项。我试过了
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.apache.ant:ant-apache-bsf:+'
}
}
// Confirm the classpath contains optional jar.
// The jar contains the required class.
buildscript.configurations.classpath.each { println it }
def sc = new org.apache.tools.ant.util.optional.ScriptRunner();
println "sure we are able to create a script runner object: $sc"
ant.importBuild "build.xml"
没有成功。 Gradle用户指南中有一篇文章标题为42.9 Ant optional dependencies。不幸的是,我从这篇文章中唯一理解的是我的解决方案不起作用。那里给出的例子没有帮助。
如何利用我的ant脚本编写任务?
答案 0 :(得分:0)
绝对不是接受的答案,只是解决方法。
目前,您通过BSF引擎使用 Beanshell 脚本。您可以将脚本转换为 Javascript ,从JDK 6开始不需要任何依赖。语法略有不同,但以下ant任务在gradle + ant中有效的方框:
<script language="javascript"><![CDATA[