如何确保Spring roo生成的方面是由依赖项目编织的?

时间:2012-11-08 10:51:28

标签: aop aspectj spring-roo compile-time-weaving

我有一个Spring Roo 多模块项目。我注意到在将包含我的域模型的jar /模块包含在另一个项目中之后,这些方面还没有编织给我留下没有任何可用的getter / setter的域类

如何确保Spring roo生成的方面是由依赖项目编织的?

编辑:为了能够从另一个项目中使用Roo的方面,需要在依赖项目中包含aspectJ插件。请注意,不需要这样编译时加载。

1 个答案:

答案 0 :(得分:1)

您需要在pom中包含aspectj maven插件:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.4</version>
            <!-- NB: do not use 1.3 or 1.3.x due to MASPECTJ-90 and do not use 1.4
                due to declare parents issue -->
            <dependencies>
                <!-- NB: You must use Maven 2.0.9 or above or these are ignored (see
                    MNG-2972) -->
                <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>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>test-compile</goal>
                    </goals>
                    <!-- NB: force aspect compile before normal compile, required for 1.3+
                        see: MASPECTJ-13, MASPECTJ-92 -->
                    <phase>process-sources</phase>
                </execution>
            </executions>
            <configuration>
                <outxml>true</outxml>
                <aspectLibraries>
                    <aspectLibrary>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-aspects</artifactId>
                    </aspectLibrary>
                </aspectLibraries>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>