[英]Jersey custom ExceptionMapper not used if exception occurs when processing request body
[英]exception occurs when NamedParameterJdbcTemplate is used
當我使用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
誰能幫幫我嗎。
確保包含所有執行依賴項。 我建議您考慮一些具有聲明性依賴項管理的自動構建工具。 例如,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>
對我來說同樣的 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>
然后一切正常。
我在 maven <spring.version>3.2.0.RELEASE</spring.version>
使用時遇到了同樣的錯誤,
然后我更改為<spring.version>4.0.2. RELEASE</spring>
<spring.version>4.0.2. RELEASE</spring>
。 版本,現在運行良好。
我遇到了同樣的問題。 我做了什么......在我的 eclipse>Project explorer>Project>Maven 依賴項中。 它向我展示了一些 3.0.0 版本的 spring 依賴項。 我只需右鍵單擊所有選項,從選項中一一選擇 Maven,然后排除 Maven Artifacts。 之后,我在 pom.xml 中添加了所有 spring 4.3.9 依賴項。 有效。
確保在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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.