【问题标题】:Maven, Scala, Spring, AspectJMaven、Scala、Spring、AspectJ
【发布时间】:2011-05-23 20:16:57
【问题描述】:

有谁知道您是否可以在编译时使用 aspectJ 和 spring 编织 scala 类。我的所有 java 类都有编译时间编织工作,但我似乎无法让它为使用 @Configurable 的 scala 类工作。

【问题讨论】:

    标签: spring scala aspectj


    【解决方案1】:

    作为背景,我已经为此工作了几天。多么痛苦。无论如何,这就是答案。是的,可以做到,只是不能使用 aspectj maven 插件。您必须使用 antrun maven 插件。快乐的 Scala 编码!

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"
                                    classpathref="maven.plugin.classpath" />
                                <iajc
                                    srcDir="src/main/scala"
                                    destDir="target/classes"
                                    inpath="target/classes"
                                    source="1.6"
                                    aspectPath="${org.springframework:spring-aspects:jar}"
                                    classpathRef="maven.compile.classpath"
                                    Xlint="ignore" />
                            </target>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjrt</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjtools</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
    

    【讨论】:

    • 一个 maven 插件没有合适的魔法的悲伤日子。请问您为什么要进行编译时与运行时编织?
    • 我的理解是编译时编织是要走的路。
    【解决方案2】:

    我们从 aspectj-maven-plugin 1.0 得到编译错误,它错过了 Scala 类。从 maven 插件升级到 1.4 版解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2014-11-06
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      • 2021-12-13
      • 1970-01-01
      相关资源
      最近更新 更多