首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让eclipse使用maven编译/编织我的代码

让eclipse使用maven编译/编织我的代码
EN

Stack Overflow用户
提问于 2011-08-25 02:06:46
回答 2查看 2.2K关注 0票数 4

我使用编译时与aspectj编织在Spring的事务代码中,这样我就可以使用@Transactional了。当我从Eclipse内部运行maven编译时(它使用了aspectj plugin),eclipse将同步到tomcat服务器,一切都进行得很顺利。

但是,当Eclipse编译(project->build自动)时,它似乎没有编织春季事务代码,我得到了以下错误:

代码语言:javascript
复制
javax.persistence.TransactionRequiredException: no transaction is in progress

这非常烦人,因为每次eclipse编译之后,我只想编写代码,而不是手动调用maven编译。

我需要编辑AJDT插件的方面路径或inPath吗?为什么Eclipse不直接使用maven来构建呢?

我正在使用:

  • Eclipse WTP靛蓝
  • 弹簧3.0.5.释放
  • JDK7 & Tomcat 7
  • m2eclipse & AJDT插件

以下是我的pom.xml的相关片段:

代码语言:javascript
复制
<!-- AspectJ -->
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjtools</artifactId>
    <version>1.6.11</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.6.11</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>org.springframework.aspects</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>${spring.version}</version>
    <scope>compile</scope>
</dependency>

<!-- Compile time weaving -->
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>compile</id>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <verbose>true</verbose>
                <outxml>true</outxml>
                <aspectLibraries>
                    <aspectLibrary>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-aspects</artifactId>
                    </aspectLibrary>
                </aspectLibraries>
            </configuration>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
        <!-- omitted test-compile part -->
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.6.11</version>
        </dependency>
    </dependencies>
</plugin>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-25 02:59:35

我正在处理一个我正在做的项目的同样的问题。简而言之:对于您正在使用的工具集,您需要启用加载时编织或使用Eclipse的早期版本。现在,m2e插件和aspectj插件与最近版本的Eclipse插件集成存在一个问题。最糟糕的是,m2e的人并不在乎,因为他们不使用AspectJ。

以下是有关此问题的一些链接:

票数 4
EN

Stack Overflow用户

发布于 2011-08-25 02:23:12

除了自动编译之外,您还应该检查JDT编织插件是否已启用。

窗口/首选项;单击JDT编织部分-验证它当前已启用。当您第一次安装插件时,它询问您是否希望启用该插件,但如果您回答“否”,则可以关闭该插件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7184364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档