我是春季启动的新手,并尝试解决这个问题一个星期。
我下载了plugin
并仍然收到相同的错误,而工具/选项我根本没有代理
修改
我刚刚创建了一个用户可以注册或登录的基本项目。我有控制器,服务存储库,域类。但是当我想检查我的数据库是否创建时,我收到了这个错误。我检查了我的plugins
if我想念一些,但一切似乎都很严格。你能告诉我一些有什么问题吗?
我的pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.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-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.1.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.13.6.RELEASE</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.11.6.RELEASE</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.6.RELEASE</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.6.RELEASE</version>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
控制台
说明
userRepository
中的字段com.example.service.UserService
需要一个名为'entityManagerFactory'的bean无法找到。
动作:
考虑在配置中定义名为“entityManagerFactory”的bean。
答案 0 :(得分:3)
只需将以下代码添加到您的 pom.xml
100% 有效
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 1 :(得分:2)
尝试删除以下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.6.RELEASE</version>
<type>jar</type>
</dependency>
和
<version>1.5.6.RELEASE</version>
<configuration>
<fork>true</fork>
</configuration>
答案 2 :(得分:2)
在UserService calss中的控制器类和UserRepository中自动装配UserService。
在UserService类中:
@service
public class UserService{
@Autowired
private UserRepository userRepository;
....
}
在控制器类中:
@Controller
class UserController{
@Autowired
private UserRepository userRepository;
.....
}
答案 3 :(得分:1)
您可能需要spring-boot-maven-plugin的目标配置,如下所示
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
另外,你用来构建和运行的maven命令是什么?
答案 4 :(得分:1)
请定义entityMangerFactory bean并将其注入任何需要的地方,我想你可能正在使用JPA / Hibernate。试试这个
答案 5 :(得分:0)
我面临着同样的问题,但是情况不同。
我有一个Maven多模块项目。
我的核心模块继承自另一个使用spring-boot-maven-plugin:2.1.2.RELEASE
插件的模块。
当我尝试编译核心模块时,发生了相同的错误:
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.2.RELEASE:repackage (repackage) on project it-core
我认为出现此问题是因为我的核心模块没有@SpringBootApplication
主类。
以下解决方案解决了我的问题。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
也许您不需要jib-maven-plugin