当我使用NamedParameterJdbcTemplate
时,我得到一个异常"No class Def Found Error"
。但是当我使用JdbcTemplate时,我没有得到任何异常。它工作。只有当我使用NamedParameterJdbcTemplate
时才会发生异常我得到以下例外。
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/SpringProperties
at org.springframework.jdbc.core.StatementCreatorUtils.<clinit>(StatementCreatorUtils.java:80)
at org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource.getSqlType(BeanPropertySqlParameterSource.java:103)
at org.springframework.jdbc.core.namedparam.NamedParameterUtils.buildSqlParameterList(NamedParameterUtils.java:415)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.getPreparedStatementCreator(NamedParameterJdbcTemplate.java:373)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:311)
at com.harsh.spring.test.OffersDAO.update(OffersDAO.java:49)
at com.harsh.spring.test.App.main(App.java:21)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.SpringProperties
任何人都可以帮助我。
答案 0 :(得分:4)
确保包含所有执行依赖项。我建议你考虑一些带有声明性依赖关系管理的自动构建工具。例如,maven可以使用http://projects.spring.io/spring-framework/中可以找到的片段将您需要的每个传递依赖包装到您的应用程序中:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.2.RELEASE</version>
</dependency>
</dependencies>
答案 1 :(得分:2)
相同的Spring核心版本问题。我在pom.xml
:
<dependency>
<groupId>springframework</groupId>
<artifactId>spring-core</artifactId>
<version>1.2.6</version>
</dependency>
并获得了java.lang.NoClassDefFoundError
。
我将其替换为:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
然后一切正常。
答案 2 :(得分:0)
我在maven <spring.version>3.2.0.RELEASE</spring.version>
,
然后我改为<spring.version>4.0.2. RELEASE</spring>
。版本,现在它运作良好。
答案 3 :(得分:0)
我遇到了同样的问题。我做了什么...在我的日食&gt;项目浏览器&gt;项目&gt; Maven依赖项。它向我展示了一些3.0.0版本的spring依赖项。我只需右键单击所有选项,然后从选项中选择Maven,然后选择Exclude Maven Artifacts。之后,我在pom中添加了所有spring 4.3.9依赖项。它奏效了。
答案 4 :(得分:0)
确保在pom.xml
中拥有所有这些依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>