2

Liferay ポートレット Ant Build を中心にグラドル ビルドを作成しようとしています。私は Gradle を使用して依存関係を管理し、liferay 以外の部分を管理しています。Gradle から Liferay Ant ビルドの一部を呼び出す必要があります。ant.importBuild を使用して Ant build.xml をインポートしようとしています。このプロセス中に、Ant ビルドがクラスパス上にない ECJ を探すため、Gradle は例外をスローします。

たとえば、Liferay Gradle ビルドと、以下に示す ant.importBuild クラスパスに ECJ を追加する方法を調べました (これでも同じ例外がスローされます)。

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)

誰にもこれに対する解決策がありますか?私はgradleが初めてです。

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())
                                         }
               }
}
4

2 に答える 2