我的系统信息:
IDE: Eclipse Blue 10.0,
Server: Websphere 7.0
Build Management Tool: Maven 3.0
我使用以下配置在我的Maven项目中执行编译时编织:
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<!-- <goal>test-compile</goal> -->
</goals>
</execution>
</executions>
<configuration>
<aspectLibraries>
<aspectLibrary>
<groupId>com.xxx.logger</groupId>
<artifactId>my-aspect-logger</artifactId>
</aspectLibrary>
</aspectLibraries>
<showWeaveInfo>true</showWeaveInfo>
<outxml>true</outxml>
<Xlint>warning</Xlint>
<verbose>true</verbose>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
</plugins>
</build>
在开发过程中,我使用以下路径在Eclipse中以爆炸模式添加我的EAR文件:
Windows > Show View > Servers > WebSphere 7 > Right Click > Add Deployment
我面临一个问题,即每当我更改我的java类时,它们都会在服务器中进行编译和热部署。但是,他们没有重新编织。但是如果我删除EAR,从命令提示符构建我的项目并重新部署它然后它可以正常工作。
有人可以帮我解决这个问题。
答案 0 :(得分:0)
我不熟悉AspectJ,但MyEclipse没有执行maven目标来构建和部署项目(虽然你可以添加构建器,可以在外部调用maven - 注意Maven Project Builder不执行Maven目标),所以你的pom中指定的处理不会自动执行,但很明显,你可以从Run As菜单项运行maven目标。因此,将使用配置的JRE重新编译已更改的Java类并重新部署。不会运行pom中指定的任何其他处理。但是,您说删除部署然后重新部署实际上是有效的,所以如果您在重新部署之前没有执行maven构建,我不确定如何完成重新编织。