也许我的问题有点基础,但我很少使用 spring boot。在这里我创建了一个这样的项目并有以下一些问题:
- 为什么我需要使用 add spring-boot-starter-parent 作为父级?
<relativepath />
有什么用其中的用法? - 我已经在 pom.xml 中添加了 spring-boot-starter-web,一切正常,但我的 .java 文件出现
FilterRegistrationBean
找不到,这是编译错误!为什么?在这里我可以在project structure
中看到这样的jar文件依赖关系(这里我使用的是Idea 2016)
这是我的项目 pom.xml 文件片段,希望有人可以帮助我,谢谢:
<groupId>org.demo</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>1.5.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.0.14.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>jackson-mapper-asl</artifactId>
<groupId>org.codehaus.jackson</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
更新:
经过近半个小时的发现,我发现这是一个Idea bug。也许以前在类路径下找不到这样的类,但是在更改正确的版本依赖项并重新组织导入(只需删除此类错误导入并自动导入新的导入)之后,应用程序就可以正常启动。这么奇怪 !也许我应该向 JetBrain 汇报。 最后,无论如何,谢谢大家给我的提示,我会投你们一票的~.~.
这是我的期末考试 pom.xml
,如果你想检查Idea中已经下载的依赖项,可以看到*.iml
文件(有很多 type='library' 条目):
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.0.14.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>jackson-mapper-asl</artifactId>
<groupId>org.codehaus.jackson</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
最佳答案
可能无法解决实际问题,但您不需要在 pom.xml 中包含所有启动器的版本。
您已经为 spring-boot-starter-parent 指定了一个版本,因此它将负责为依赖项中的所有其他启动器使用正确的版本。
关于java - 如何在项目中集成spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49028941/