0

我的系统信息:

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,从命令提示符构建我的项目并重新部署它,它就会正常工作。

有人可以帮我解决这个问题。

4

1 回答 1

0

我不熟悉 AspectJ,但 MyEclipse 不执行 maven 目标来构建和部署项目(尽管您可以添加构建器,这可能会在外部调用 maven - 请注意 Maven 项目构建器不执行 Maven 目标),因此在您的 pom 不会自动执行,但显然,您可以从 Run As 菜单项运行 maven 目标。因此,更改的 Java 类将使用配置的 JRE 重新编译并重新部署。在 pom 中指定的任何其他处理都不会运行。但是,您说删除部署然后重新部署实际上可以工作,所以如果您在重新部署之前不执行 Maven 构建,我不确定重新编织是如何完成的。

于 2013-03-27T06:15:31.793 回答