当前位置: 首页 > 知识库问答 >
问题:

使用@Transactional时编译失败(值="主")

葛威
2023-03-14

在pom中。xml我使用spring-tx-4.1.4。释放。但是maven编译该项目时出现了一个错误:

org.apache.maven.lifecycle.生命周期执行异常:无法执行目标org.apache.maven.plugins: maven-compiler-plugin: 2.3.2:编译(default-compile)项目事务:编译失败\p4_projects\交易\src\main\java\com\生病\道\hibernate\DeviceModelDaoHibernate.java:[25,15]找不到符号符号:方法值()位置:@接口org.springframework.transaction.annotation.Transactional

我找不到原因。依存关系层次结构显示了所有spring依存关系的正确版本4.1.4。我得到了与4.1.3相同的结果。

我会感谢你的帮助<谢谢你,埃琳娜

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;

import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import com.sick.dao.DeviceModelDao;
import com.sick.model.DeviceModel;

@Repository
@Transactional(value = "primary")
public class DeviceModelDaoHibernate implements DeviceModelDao {
private SessionFactory sessionFactory;

public DeviceModelDaoHibernate() {      
}

public DeviceModelDaoHibernate(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
}

@Override
public void save(DeviceModel deviceModel) {
    sessionFactory.getCurrentSession().saveOrUpdate(deviceModel);
}

}

pom.xml太大了,不能在这里发布,因此我只发布依赖项的版本:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <red5-server.version>1.0.2-SNAPSHOT</red5-server.version>
    <red5-client.version>1.0.2-SNAPSHOT</red5-client.version>
    <camel.version>2.14.1</camel.version>
    <hibernate.version>4.3.8.Final</hibernate.version>
    <spring.version>4.1.4.RELEASE</spring.version>
    <spring-security.version>3.2.5.RELEASE</spring-security.version>
    <spring-integration.version>3.0.0.RELEASE</spring-integration.version>
    <slf4j.version>1.7.5</slf4j.version>
    <mina.version>2.0.7</mina.version>
    <logback.version>1.0.13</logback.version>
    <junit.version>4.10</junit.version>
    <cargo.host>localhost</cargo.host>
    <cargo.port>25888</cargo.port>
    <cargo.wait>false</cargo.wait>
    <tomcat.version>6.0.14</tomcat.version>
</properties>
....
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <type>jar</type>
    </dependency>
</dependencies>

共有3个答案

潘智刚
2023-03-14

这里也有同样的问题:@Transactional错误地来自一个旧的“spring-dao”库,它是“spring-hibernate3”的可传递依赖项,但我希望它来自“spring-tx”。

通过将“spring-tx”依赖项移到“spring-hibernate3”之前解决了这个问题(我想我也可以使用排除)。

使用mvn依存关系:树来可视化可传递的依存关系。

陆宾白
2023-03-14

感谢大家,我已经解决了这个问题。在pom中。xml我已经把所有的组织。组织之前的springframework依赖项。hibernate依赖项和问题已经消失。

杜成和
2023-03-14

使用Eclipse<试试Maven clean

 类似资料:
  • 我在我的项目中使用Fuse 6.1和camel 2.12版本,并面临以下问题。我试图将java.util.HashMap传递到我的xslt,并访问map以检索我的XSLT中的一堆值。为此,我构建了一个映射,并将其放在bean的头中,并访问它XSLT。我创建了一个测试用例来运行此路线,一切都运行良好,能够在XSLT中访问映射,XSLT正在编译良好,并生成预期的XML,如果我在类路径中net.sf.s

  • 我试图在eclipse中用maven构建一个spark应用程序,但我遇到了一个编译失败。我修正了系统变量,给它提供到JDK的路径,而不是到JRE的路径,如下所示: 并且我将这个字符串添加到变量中,但是没有起作用。因此,我尝试不使用如下但没有新内容。 因此,我尝试通过eclipse来指出我的JDK,如下所示:,我也选择了JDK,但这个解决方案也不起作用,所以我决定使用cmd来修复它: 我检查了,结果

  • 在两台不同的笔记本电脑上使用maven构建相同的项目。一个是运行良好,一个是显示错误。 状态:两个系统的配置相同。 使用的命令:mvn clean install-DskipTests=true 错误: 我什至尝试删除所有内容,例如再次创建. m2文件夹。

  • 2017-05-23T15:14:03.19+0000[STG/17]出---->下载的应用程序包(59M)2017-05-23T15:14:03.36+0000[STG/0]出站失败:Buildpack编译步骤失败2017-05-23T15:14:03.36+0000[STG/0]错误2017-05-23T15:14:03.46+0000[API/0]错误遇到错误:应用程序在Buildpack编

  • 命令:/users/adham/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.1-4818971-osx/aapt2-3.2.1-4818971-osx/AAPT2 compile--o\/users/adham/deskto/android/todo/app/build/mediates/incremental/mergedebugresourc

  • 我使用vs代码,并且已经安装了“vs代码的Lombok注释支持”。我使用maven clear然后进行编译,结果编译失败。然后,当我尝试maven编译几秒钟后,它构建成功。我在两个maven编译之间没有执行任何操作。 我检查了错误消息,似乎Lombok注释不起作用。 当它成功的时候,我得到了信息 而我的pom.xml是 我想知道我应该把插件版本改成旧版本吗?但当我将其更改为3.1.0时,就会出现C