作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Maven 项目,它编译为 webapp,具有标准 Maven war 布局。我正在尝试向同一个项目添加方面,但当部署为 Tomcat 上的 war 时,这些方面不会被触发。如果我将项目部署为 jar,各个方面就会启动。
这是我的 pom.xml 的样子
```
<groupId>in.sheki</groupId>
<artifactId>abc-service</artifactId>
<packaging>war</packaging>
<name>abc-service</name>
<properties>
<aspectj.version>1.6.12</aspectj.version>
</properties>
<build>
<finalName>abc-service</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<complianceLevel>1.6</complianceLevel>
</configuration>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
....
</dependencies>
</project>
```
方面在项目的包之一中定义为带有 @Aspect 注释的 JavaClass。
我可能做错了什么?
要创建 war ,我执行mvn clean install
并将 war 移至webapps目录。为了创建 Jar,我使用带有主类的程序集插件,这不会启动 HTTP 服务,而是启动代码中的其他进程。
最佳答案
确保您有一个名为 war.bundle 的属性
正确
看看http://maven.apache.org/maven-1.x/plugins/aspectj/
如果您在没有 spring 的情况下运行,那么您可能需要 aop.xml,如中所述 http://ganeshghag.blogspot.in/2012/10/demystifying-aop-getting-started-with.html
关于java - 如何让 AspectJ 和 Maven 参与 War 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8716118/
我是一名优秀的程序员,十分优秀!