AspectJ AJC使用aspectj-maven-plugin而不是Gradle

时间:2012-11-03 00:51:07

标签: spring maven aspectj gradle

我一直在尝试将弹簧方面复制到Gradle应用程序中。

我首先尝试让Vaadin Spring集成工作并复制了vaadin-6-spring-3-integration-2 /] 1Vaadin Spring Integration当我从Gradle运行应用程序时来自https://github.com/SpringSource/spring-framework/blob/master/spring-aspects/aspects.gradle的确切任务没有得到自动装配(一切都为空)。我也试过这个版本:'https://raw.github.com/breskeby/gradleplugins/0.9-upgrade/aspectjPlugin/aspectJ.gradle' 我还使用了gradle-1-0-spring-aspectj-build-problems上提到的更新版本,但除了Maven插件之外,似乎没有任何东西可以用于spring-aspects编译时编织。 这是我上次使用的Gradle任务:

task compileJava(dependsOn: JavaPlugin.PROCESS_RESOURCES_TASK_NAME, overwrite: true)  {
    dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileJava")

    doLast{
        ant.taskdef( resource:"org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", classpath: configurations.ajc.asPath)
        ant.iajc(source:sourceCompatibility, target:targetCompatibility, destDir:sourceSets.main.output.classesDir.absolutePath, maxmem:"512m", fork:"true",
                aspectPath:configurations.aspects.asPath, inpath:configurations.ajInpath.asPath, sourceRootCopyFilter:"**/.svn/*,**/*.java",classpath:configurations.compile.asPath){
            sourceroots{
                sourceSets.main.java.srcDirs.each{
                    pathelement(location:it.absolutePath)
                }
            }
        }
    }
}

然后当我创建一个Maven pom以使用以下插件时:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>${aspectj-maven-plugin.version}</version>
            <configuration>
                <!-- Required as the plugin does not resolve this by default -->
                <source>${maven.compiler.source}</source>
                <target>${maven.compiler.target}</target>
                <aspectLibraries>
                    <aspectLibrary>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-aspects</artifactId>
                    </aspectLibrary>
                </aspectLibraries>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>test-compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

该应用程序已自动装配好。

任何人都可以帮助让Gradle工作吗?

1 个答案:

答案 0 :(得分:0)

您的代码在某处可用吗?我不认为它是aspectj任务本身的问题。