java 包 org.springframework.data.repository 不存在 spring boot jpa

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/43426244/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-03 07:25:21  来源:igfitidea点击:

package org.springframework.data.repository does not exist spring boot jpa

javaspringmavenspring-bootspring-data-jpa

提问by cumibulat

I have a lil problem with spring boot + jpa. I have add the dependency to the POM.xml, i can run it normally from spring tool suite (run as spring boot application). But when i run from command line "mvn spring-boot:run" it will throws error.

我对 spring boot + jpa 有一个小问题。我已将依赖项添加到 POM.xml,我可以从 spring 工具套件正常运行它(作为 spring 启动应用程序运行)。但是当我从命令行“mvn spring-boot:run”运行时,它会抛出错误。

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building THA 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> spring-boot-maven-plugin:1.5.2.RELEASE:run (default-cli) > test-compile @ THA >>>
[WARNING] The POM for org.springframework:spring-jdbc:jar:4.3.7.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.jboss:jandex:jar:2.0.0.Final is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.springframework.data:spring-data-jpa:jar:1.11.1.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ THA ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ THA ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 5 source files to D:\RondoWare\Programming\SpringBoot\workspace_3.8.3\THA\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/repository/ProductTypesRepository.java:[3,43] package org.springframework.data.repository does not exist
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/repository/ProductTypesRepository.java:[7,49] cannot find symbol
  symbol: class CrudRepository
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/controller/ProductTypeController.java:[29,39] cannot find symbol
  symbol:   method save(com.rondox.sb.th.model.ProductTypes)
  location: variable productTypesRepository of type com.rondox.sb.th.repository.ProductTypesRepository
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/controller/ProductTypeController.java:[36,46] cannot find symbol
  symbol:   method findAll()
  location: variable productTypesRepository of type com.rondox.sb.th.repository.ProductTypesRepository
[INFO] 4 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.795 s
[INFO] Finished at: 2017-04-15T19:37:52+07:00
[INFO] Final Memory: 26M/267M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project THA: Compilation failure: Compilation failure:
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/repository/ProductTypesRepository.java:[3,43] package org.springframework.data.repository does not exist
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/repository/ProductTypesRepository.java:[7,49] cannot find symbol
[ERROR]   symbol: class CrudRepository
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/controller/ProductTypeController.java:[29,39] cannot find symbol
[ERROR]   symbol:   method save(com.rondox.sb.th.model.ProductTypes)
[ERROR]   location: variable productTypesRepository of type com.rondox.sb.th.repository.ProductTypesRepository
[ERROR] /D:/RondoWare/Programming/SpringBoot/workspace_3.8.3/THA/src/main/java/com/rondox/sb/th/controller/ProductTypeController.java:[36,46] cannot find symbol
[ERROR]   symbol:   method findAll()
[ERROR]   location: variable productTypesRepository of type com.rondox.sb.th.repository.ProductTypesRepository
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

my pom.xml :

我的 pom.xml :

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.rondox.sb.th</groupId>
    <artifactId>THA</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>THA</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) -->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>            
        </dependency>

         <!---->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

my dependency tree :

我的依赖树:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building THA 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.springframework:spring-jdbc:jar:4.3.7.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.jboss:jandex:jar:2.0.0.Final is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.springframework.data:spring-data-jpa:jar:1.11.1.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO]
[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ THA ---
[INFO] com.rondox.sb.th:THA:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-thymeleaf:jar:1.5.2.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:1.5.2.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:1.5.2.RELEASE:compile
[INFO] |  |  |  \- org.springframework:spring-context:jar:4.3.7.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:1.5.2.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:1.5.2.RELEASE:compile
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.1.11:compile
[INFO] |  |  |  |  \- ch.qos.logback:logback-core:jar:1.1.11:compile
[INFO] |  |  |  +- org.slf4j:jcl-over-slf4j:jar:1.7.24:compile
[INFO] |  |  |  +- org.slf4j:jul-to-slf4j:jar:1.7.24:compile
[INFO] |  |  |  \- org.slf4j:log4j-over-slf4j:jar:1.7.24:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.17:runtime
[INFO] |  +- org.springframework.boot:spring-boot-starter-web:jar:1.5.2.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.2.RELEASE:compile
[INFO] |  |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.11:compile
[INFO] |  |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.11:compile
[INFO] |  |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.11:compile
[INFO] |  |  +- org.hibernate:hibernate-validator:jar:5.3.4.Final:compile
[INFO] |  |  |  +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] |  |  |  \- com.fasterxml:classmate:jar:1.3.3:compile
[INFO] |  |  +- com.fasterxml.Hymanson.core:Hymanson-databind:jar:2.8.7:compile
[INFO] |  |  |  +- com.fasterxml.Hymanson.core:Hymanson-annotations:jar:2.8.0:compile
[INFO] |  |  |  \- com.fasterxml.Hymanson.core:Hymanson-core:jar:2.8.7:compile
[INFO] |  |  +- org.springframework:spring-web:jar:4.3.7.RELEASE:compile
[INFO] |  |  |  \- org.springframework:spring-beans:jar:4.3.7.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-webmvc:jar:4.3.7.RELEASE:compile
[INFO] |  |     \- org.springframework:spring-expression:jar:4.3.7.RELEASE:compile
[INFO] |  +- org.thymeleaf:thymeleaf-spring4:jar:2.1.5.RELEASE:compile
[INFO] |  |  +- org.thymeleaf:thymeleaf:jar:2.1.5.RELEASE:compile
[INFO] |  |  |  +- ognl:ognl:jar:3.0.8:compile
[INFO] |  |  |  \- org.unbescape:unbescape:jar:1.1.0.RELEASE:compile
[INFO] |  |  \- org.slf4j:slf4j-api:jar:1.7.24:compile
[INFO] |  \- nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:jar:1.4.0:compile
[INFO] |     \- org.codehaus.groovy:groovy:jar:2.4.9:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.5.2.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-aop:jar:1.5.2.RELEASE:compile
[INFO] |  |  +- org.springframework:spring-aop:jar:4.3.7.RELEASE:compile
[INFO] |  |  \- org.aspectj:aspectjweaver:jar:1.8.9:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.5.2.RELEASE:compile
[INFO] |  |  +- org.apache.tomcat:tomcat-jdbc:jar:8.5.11:compile
[INFO] |  |  |  \- org.apache.tomcat:tomcat-juli:jar:8.5.11:compile
[INFO] |  |  \- org.springframework:spring-jdbc:jar:4.3.7.RELEASE:compile
[INFO] |  +- org.hibernate:hibernate-core:jar:5.0.12.Final:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] |  |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] |  |  +- org.javassist:javassist:jar:3.21.0-GA:compile
[INFO] |  |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  |  +- org.jboss:jandex:jar:2.0.0.Final:compile
[INFO] |  |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] |  +- org.hibernate:hibernate-entitymanager:jar:5.0.12.Final:compile
[INFO] |  +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO] |  +- org.springframework.data:spring-data-jpa:jar:1.11.1.RELEASE:compile
[INFO] |  \- org.springframework:spring-aspects:jar:4.3.7.RELEASE:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.41:compile
[INFO] \- org.springframework.boot:spring-boot-starter-test:jar:1.5.2.RELEASE:test
[INFO]    +- org.springframework.boot:spring-boot-test:jar:1.5.2.RELEASE:test
[INFO]    +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.5.2.RELEASE:test
[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]    +- junit:junit:jar:4.12:test
[INFO]    +- org.assertj:assertj-core:jar:2.6.0:test
[INFO]    +- org.mockito:mockito-core:jar:1.10.19:test
[INFO]    |  \- org.objenesis:objenesis:jar:2.1:test
[INFO]    +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO]    +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO]    +- org.skyscreamer:jsonassert:jar:1.4.0:test
[INFO]    |  \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO]    +- org.springframework:spring-core:jar:4.3.7.RELEASE:compile
[INFO]    \- org.springframework:spring-test:jar:4.3.7.RELEASE:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.661 s
[INFO] Finished at: 2017-04-15T19:44:05+07:00
[INFO] Final Memory: 22M/309M
[INFO] ------------------------------------------------------------------------

Is there any special parameter should i pass when i run the application from command line ? It's just simple application and the function is work as i expected when i run from STS, but i just want to have a better understanding if the STS & command line have difference parameter when run the application.

当我从命令行运行应用程序时,是否应该传递任何特殊参数?这只是一个简单的应用程序,当我从 STS 运行时,该功能按我的预期工作,但我只是想更好地了解 STS 和命令行在运行应用程序时是否有不同的参数。

回答by Anshul Sharma

you have to delete .m2 folder and change the version of dependencies and retry to update maven project.

您必须删除 .m2 文件夹并更改依赖项的版本并重试更新 maven 项目。

回答by dphung duy

This line is root cause of your problem:

这一行是您问题的根本原因:

[WARNING] The POM for org.springframework:spring-jdbc:jar:4.3.7.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details

[警告] org.springframework:spring-jdbc:jar:4.3.7.RELEASE 的 POM 无效,传递依赖(如果有)将不可用,启用调试日志以获取更多详细信息

I think it come from your maven setting or java version in commandline.

我认为它来自命令行中的 maven 设置或 java 版本。

回答by cumibulat

I re-run using maven command with -X parameters so it will turn on the debug logging.

我使用带有 -X 参数的 maven 命令重新运行,因此它将打开调试日志记录。

Then the error got a clearer error message

然后错误得到了更清晰的错误信息

[WARNING] The POM for org.springframework:spring-jdbc:jar:4.3.7.RELEASE is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model
[FATAL] Non-parseable POM C:\Users\RondoDell\.m2\repository\org\springframework\spring-jdbc.3.7.RELEASE\spring-jdbc-4.3.7.RELEASE.pom: processing instruction can not have PITarget with reserveld xml name (position: END_TAG seen ...</dependencies>\n</project>\n<?xml ... @108:7)  @ line 108, column 7

[WARNING] The POM for org.jboss:jandex:jar:2.0.0.Final is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.jboss:jandex:2.0.0.Final
[FATAL] Non-parseable POM C:\Users\RondoDell\.m2\repository\org\jboss\jboss-parent\jboss-parent-12.pom: only whitespace content allowed before start tag and not t (position: START_DOCUMENT seen t... @1:1)  @ C:\Users\RondoDell\.m2\repository\org\jboss\jboss-parent\jboss-parent-12.pom, line 1, column 1

[WARNING] The POM for org.springframework.data:spring-data-jpa:jar:1.11.1.RELEASE is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.springframework.data:spring-data-jpa:1.11.1.RELEASE
[FATAL] Non-parseable POM C:\Users\RondoDell\.m2\repository\org\springframework\data\build\spring-data-parent.9.1.RELEASE\spring-data-parent-1.9.1.RELEASE.pom: start tag not allowed in epilog but got s (position: END_TAG seen ...</pluginRepositories>\n\n</project>\n\t\t<s... @899:5)  @ C:\Users\RondoDell\.m2\repository\org\springframework\data\build\spring-data-parent.9.1.RELEASE\spring-data-parent-1.9.1.RELEASE.pom, line 899, column 5

I delete the entire folder, run the application using command line, and it will redownload all pom and jar that needed. Application now can run normally from command line.

我删除整个文件夹,使用命令行运行应用程序,它将重新下载所有需要的 pom 和 jar。应用程序现在可以从命令行正常运行。

回答by cumibulat

It looks like you've got a bad download of the following poms:

看起来您下载了以下 poms 错误:

[WARNING] The POM for org.springframework:spring-jdbc:jar:4.3.7.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.jboss:jandex:jar:2.0.0.Final is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.springframework.data:spring-data-jpa:jar:1.11.1.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details

I've seen this happen when Maven ends up downloading an HTML error page instead of the artifact. You might try deleting your local Maven Repository at ~/.m2/repositoryand then build from the command-line.

我已经看到当 Maven 最终下载一个 HTML 错误页面而不是工件时会发生这种情况。您可以尝试删除您的本地 Maven 存储库,~/.m2/repository然后从命令行构建。

回答by RudyD

In my case I had the dependency twice:

在我的情况下,我有两次依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

and

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <scope>test</scope>
</dependency>

After removing the second one, as I needed it outside of test, the errors disappeared.

删除第二个后,因为我在测试之外需要它,错误消失了。