我正在尝试围绕 Liferay portlet Ant Build 创建一个 gradle 构建。我正在使用 Gradle 进行依赖管理和管理其他非 liferay 部分。我需要从 Gradle 调用一些 Liferay Ant 构建。我正在尝试使用 ant.importBuild 导入 Ant build.xml。在此过程中,Gradle 会引发异常,因为 Ant 构建会查找不在类路径中的 ECJ。
例如,我查看了 Liferay Gradle 构建以及如何将 ECJ 添加到 ant.importBuild 类路径,如下所示(这仍然会引发相同的异常)。
Task cannot continue because ECJ is not installed.
ECJ was automatically installed. Please rerun your task.
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:568)
at org.apache.tools.ant.taskdefs.ImportTask.importResource(ImportTask.java:239)
有人对此有解决方案吗?我是新手。
apply plugin: 'java'
ant.importBuild 'build.xml'
configurations { jdt }
dependencies { jdt "org.eclipse.jdt:ecj:3.6.1" }
compileJava {
doFirst {
ClassLoader antClassLoader =org.apache.tools.ant.Project.class.classLoader
configurations.jdt.each { File f ->
antClassLoader.addURL(f.toURI().toURL())
}
}
}