java - 由于包 org.springframework.boot.autoconfigure.domain 不存在导致构建失败
问题描述
组件错误mvn clean install
-
[INFO] 6 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.001 s
[INFO] Finished at: 2019-07-28T17:30:25+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project project-component: Compilation failure: Compilation failure:
[ERROR] /Users/sandeepan.nath/Desktop/codebase/path/to/project/component/src/main/java/com/path/to/JPAConfigurationMysql.java:[11,53] package org.springframework.boot.autoconfigure.domain does not exist
[ERROR] /Users/sandeepan.nath/Desktop/codebase/path/to/project/component/src/main/java/com/path/to/JPAConfigurationMysql.java:[12,40] cannot find symbol
[ERROR] symbol: class EntityManagerFactoryBuilder
[ERROR] location: package org.springframework.boot.orm.jpa
我收到错误的类有这个导入 -
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
mvn dependency:tree
我正在尝试构建的组件的输出给出了这个 -
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.2.5.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.2.5.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.2.5.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.2.5.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.2.5.RELEASE:compile
[INFO] | | | +- org.slf4j:jul-to-slf4j:jar:1.7.12:compile
[INFO] | | | +- org.slf4j:log4j-over-slf4j:jar:1.7.12:compile
[INFO] | | | \- ch.qos.logback:logback-classic:jar:1.1.3:compile
[INFO] | | | \- ch.qos.logback:logback-core:jar:1.1.3:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.14:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:1.2.5.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.2.5.RELEASE:compile
[INFO] | | \- org.apache.tomcat:tomcat-jdbc:jar:8.0.23:compile
[INFO] | | \- org.apache.tomcat:tomcat-juli:jar:8.0.23:compile
[INFO] | +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO] | \- org.springframework.data:spring-data-jpa:jar:1.7.3.RELEASE:compile
[INFO] | \- org.springframework.data:spring-data-commons:jar:1.9.3.RELEASE:compile
我检查了罐子已经存在于 -
repository/org/springframework/boot/spring-boot-autoconfigure/1.2.5.RELEASE/spring-boot-autoconfigure-1.2.5.RELEASE.jar
我试图运行的组件依赖于另一个组件。我检查了这个依赖项目的 pom 有 -
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.dependencyproject</groupId>
<artifactId>dependency-project</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
并且依赖项目的 pom 有以下 -
<properties>
<spring-boot.version>1.5.2.RELEASE</spring-boot.version>
</properties>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-json</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring-boot.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-integration</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>${jersey-common.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>${spring-boot.version}</version>
</dependency>
并定义了其他几个 org.springframework 依赖项。看起来,一些依赖定义是多余的,如果设置了spring-boot-starter
就不需要了。spring-boot-starter-data-jpa
但是,对于我遇到问题的组件,即 spring-boot-autoconfigure,我认为没有冲突的可能性,因为spring-boot-autoconfigure
没有单独提及。
解决方案
推荐阅读
- c++ - 如何在 cout 语句中将数字转换为小数?
- android - 如何在 Android 片段中制作 SnackBar?
- python-3.x - RIDE 工具无法在 Ubuntu 20.4 上安装
- reactjs - Gatsby Source Contentful 4.x - 富文本 - 对 JSON 的更改
- c++ - ACCESS 和 ADO 无法识别的数据库格式
- mysql - 如何使用节点在mysql数据库中插入json对象
- angular - Angular Rxjs forkJoin 错误:无法读取未定义的属性“订阅”
- php - 致命错误:未捕获的错误:调用未定义的方法 Kreait\Firebase\Factory::getDatabase()
- python - 如何检查2个字符串是否具有相同的字符?- Python
- angular - 类型上不存在属性“地图” - Angular Google Maps 项目