当前位置: 首页 > 面试题库 >

如何找到Spring Data JPA和Spring版本的正确jar文件

钱青青
2023-03-14
问题内容

我正在使用Spring MVC和Spring Data JPA,并且面临jar版本的异常。

这是我的pom:

<properties>
    <spring.version>4.2.4.RELEASE</spring.version>
    <hibernate.version>4.3.8.Final</hibernate.version>
    <mysql.version>5.1.10</mysql.version>
    <junit-version>4.11</junit-version>
    <servlet-api-version>3.1.0</servlet-api-version>
    <spring-security-version>4.0.4.RELEASE</spring-security-version> 
    <spring-data-solr.verion>1.2.0.RELEASE</spring-data-solr.verion>         
    <springbatch.version>3.0.6.RELEASE</springbatch.version>
    <jsp-version>2.1</jsp-version>
    <jstl-version>1.2</jstl-version>
    <java.version>1.7</java.version>
    <liquibase.version>3.1.1</liquibase.version>
    <spring.data.jpa.version>1.10.3.RELEASE</spring.data.jpa.version>   
    <spring.social.version>1.1.0.RELEASE</spring.social.version>                        
</properties>

这是我的课:

import org.springframework.data.jpa.repository.JpaRepository;
public interface RoleRepository extends JpaRepository<Role, Long> {

}

我在Eclipse上收到一条错误警告,并显示以下消息:

The type org.springframework.data.repository.query.QueryByExampleExecutor cannot be resolved. It is indirectly referenced from required .class files

看来我的Spring数据jpa jar版本不正确,但是我不知道找到正确的版本。我的spring版本:4.2.4.RELEASE是最新的

如何解决这个错误?非常感谢 !


问题答案:

由于您拥有POM,这意味着您正在使用Maven,并且Maven拥有一个名为dependency的插件,您可以在其上调用dependency:list该插件,该插件将列出所有jar依赖项及其版本。

只需在项目的根目录中调用(假设您使用的是启动器):

./mvnw dependency:list

您将列出您的jar:

[INFO] ------------------------------------------------------------------------
[INFO] Building XXXXXXX 0.0.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.10:list (default-cli) @ xxxxxxx ---
[INFO] 
[INFO] The following files have been resolved:
[INFO]    org.apache.lucene:lucene-backward-codecs:jar:5.5.2:compile
[INFO]    org.springframework.boot:spring-boot-starter-jdbc:jar:1.5.1.RELEASE:compile

你也可以使用dependency:analyze-duplicatedependency:tree或者dependency:analyze- report检查一切声明一次。检查此插件的文档,当您遇到依赖关系问题时,它确实很有用。

这是dependency:tree的示例

[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ ouaknine ---
[INFO] com.rdlopes.ouaknine:ouaknine:war:0.0.2-SNAPSHOT
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.8.6:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.6:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-core:jar:2.8.6:compile
[INFO] |  \- javax.transaction:jta:jar:1.1:compile
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-hppc:jar:2.8.6:compile
[INFO] |  \- com.carrotsearch:hppc:jar:0.7.1:compile
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-json-org:jar:2.8.6:compile
[INFO] |  \- org.apache.geronimo.bundles:json:jar:20090211_1:compile
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.8.6:compile
[INFO] |  \- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
[INFO] +- com.h2database:h2:jar:1.4.193:compile
[INFO] +- com.jayway.jsonpath:json-path:jar:2.2.0:test
[INFO] |  +- net.minidev:json-smart:jar:2.2.1:test
[INFO] |  |  \- net.minidev:accessors-smart:jar:1.1:test
[INFO] |  |     \- org.ow2.asm:asm:jar:5.0.3:test
[INFO] |  \- org.slf4j:slf4j-api:jar:1.7.22:compile
[INFO] +- com.jcraft:jzlib:jar:1.1.3:compile
[INFO] +- com.mattbertolini:liquibase-slf4j:jar:2.0.0:compile
[INFO] +- com.ryantenney.metrics:metrics-spring:jar:3.1.3:compile
[INFO] |  +- io.dropwizard.metrics:metrics-healthchecks:jar:3.1.2:compile
[INFO] |  +- org.springframework:spring-core:jar:4.3.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-beans:jar:4.3.6.RELEASE:compile
[INFO] |  \- org.springframework:spring-aop:jar:4.3.6.RELEASE:compile
[INFO] +- com.zaxxer:HikariCP:jar:2.6.0:compile
[INFO] +- commons-io:commons-io:jar:2.5:compile
[INFO] +- io.dropwizard.metrics:metrics-annotation:jar:3.1.2:compile
[INFO] +- io.dropwizard.metrics:metrics-core:jar:3.1.2:compile
[INFO] +- io.dropwizard.metrics:metrics-json:jar:3.1.2:compile

在我的MacBook Pro上,我只需在终端中致电:

macbook-pro-de-rui:ouaknine rui$ ./mvnw dependency:list | grep jpa
[INFO]    org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO]    org.springframework.data:spring-data-jpa:jar:1.11.0.RELEASE:compile
[INFO]    org.springframework.boot:spring-boot-starter-data-jpa:jar:1.5.1.RELEASE:compile


 类似资料:
  • 我正在尝试让Appfuse+tomcat+jRebel工作。 Appfuse默认使用Cargo下载tomcat(ver.7.0.33)并将应用程序部署到其中。我希望使用已经安装的tomcat(ver.7.0.27)而不是下载的。我根据appfuse常见问题进行了更改。 使用进行部署后,我如何知道实际运行的tomcat确实是7.0.27? 我曾经键入一个错误的URL(例如localhost:8080

  • 我正在使用Gradle5的BOM(物料清单)功能。这是我对JUnit5依赖项的描述: 我的假设是,提供BOM将解决依赖关系的版本。但是,它们被解析为。我不知道为什么。(我还请求锁定指定的版本) 检查JUnit 5的BOM,我们看到所有依赖项都与版本一起列出(在项目中解析为5.1.1),所有依赖项都与版本一起列出(在项目中正确解析)。 我不确定我错过了什么,希望在这里得到一些帮助。谢谢! 编辑: 我

  • 我有一个非常奇怪的问题在Javawebstart应用程序。我正在使用slf4j和logback作为我的日志框架,但是当我的一个用户运行webstart应用程序时,他会收到一条log4j警告消息!我不包括log4j罐在webstart应用程序。log4j可能来自哪里,我如何找到?我不能导入任何log4j类并调用它们的方法,因为我不能编译一个我没有的jar文件。 以下是一些细节: SLF4J 1.7.

  • 问题内容: 使用Maven项目和Jar文件时,在引用资源时遇到麻烦的问题… 我将所有资源都放在一个专用文件夹/ src / main / resources中,该文件夹是Eclipse中构建路径的一部分。使用以下文件引用文件 这在Eclipse中工作正常,但在Jar文件中失败-资源位于jar根目录正下方的文件夹中… 有谁知道在JAR和Eclipse中同时引用文件的“最佳实践”? 编辑: 问题是,尽

  • 我在使用org.apache.commons.io.FileUtils从img目录删除文件时遇到问题。我正在使用以下代码: 实际上,该代码是用来替换img目录中已有的图像文件。我需要删除所有以前存在的文件,名称是n.*,与新文件,例如n.png。如果我试图删除图像文件,我会得到变量成功的false值,并且文件不会被删除。但不包括图像文件,例如*.abc;*.ACD;*.ACDC等被成功删除。这个问

  • 问题内容: 我刚刚解决了另一个我虽然正在使用此版本的图书馆,但显然我的应用服务器已经加载了旧版本的-此库-问题(叹气)。 有人知道一种验证(或监视)您的应用程序是否有权访问所有适当的jar文件或已加载的类版本的好方法吗? 提前致谢! [ 在我看来,PS是开始使用OSGi模块体系结构的充分理由!] 更新 :此文章帮助的!通过将JBoss的类加载器写入日志文件,它使我了解了哪些类加载。 问题答案: 如

  • 我怎么知道我在我的Android Studio里使用的是哪个版本的Gradle?请引导。 我想确定我使用的是Gradle版本2.2.1。

  • 问题内容: 我正在开发一个需要一些rmi东西的Android应用程序,因为默认情况下Android不支持rmi,我发现此项目可用于将rmi包与我的Android应用程序捆绑在一起,但找不到包含java.rmi包的jar 。有人可以建议在哪里找到它吗?或任何其他在Android上使用java.rmi的方式 谢谢 !!! 问题答案: 您不太可能在Android上使用RMI。即使您从Apache Har