Java 在IntellJ IDEA中运行spring boot项目时,为什么不将依赖项添加到类路径?
我的操作系统是Ubuntu 16.04,IDE是IntellJ IDEA2018.1.3 最近,我尝试在Java 在IntellJ IDEA中运行spring boot项目时,为什么不将依赖项添加到类路径?,java,spring,maven,spring-boot,intellij-idea,Java,Spring,Maven,Spring Boot,Intellij Idea,我的操作系统是Ubuntu 16.04,IDE是IntellJ IDEA2018.1.3 最近,我尝试在Maven中运行一个简单的Spring Boot项目,但当我运行此应用程序时,我收到一些错误消息,表明依赖项不存在,如下所示: 我想依赖项并没有添加到类路径中,但项目配置和maven依赖项是正常的。我尝试在操作系统为Windows 10的其他计算机上运行相同的项目。它工作得很好 马文: 项目结构: Mypom.xml <?xml version="1.0" encoding
Maven
中运行一个简单的Spring Boot
项目,但当我运行此应用程序时,我收到一些错误消息,表明依赖项不存在,如下所示:
我想依赖项并没有添加到类路径中,但项目配置和maven依赖项是正常的。我尝试在操作系统为Windows 10的其他计算机上运行相同的项目。它工作得很好
- 马文:
- 项目结构:
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.test</groupId>
<artifactId>test1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<junit.version>4.12</junit.version>
<mysql.version>5.1.43</mysql.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</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-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
</dependencies>
</project>
4.0.0
com.test
测试1
1.0-快照
战争
UTF-8
1.8
1.8
4.12
5.1.43
org.springframework.boot
spring启动程序父级
1.5.8.1发布
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧启动机aop
org.springframework.boot
弹簧起动试验
测试
org.mybatis.spring.boot
迈巴蒂斯弹簧靴起动器
1.3.1
朱尼特
朱尼特
${junit.version}
mysql
mysql连接器java
${mysql.version}
阿里巴巴
fastjson
1.2.41
以下步骤用于解决通过Maven Project
创建的项目的库未找到
错误。但是,如果您使用Spring初始化器创建一个项目,那么这样的问题就不存在了。现在在Intellij
中打开项目结构(快捷键Ctrl+Alt+Shift+S)。然后按照下图进行操作:
单击创建工件
。然后按照下图进行操作:
选择所有库,然后右键单击,然后选择Put-into/WEB\u-INF/lib
。单击OK然后编译,然后一切都会好起来。但是记住对每个新添加的库重复这个过程。遗憾的是,maven项目没有自动化的过程,但是您可以切换到Spring初始化器
更新
如果您是通过Spring initializer
创建项目的,那么我怀疑您是否在使用系统上安装的默认Tomcat
。在这种情况下,您应该使用嵌入式tomcat
,它在运行时由IDE自动管理。maven依赖项链接如下所示,删除之前添加的tomcat配置:
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>1.5.13.RELEASE</version>
</dependency>
org.springframework.boot
弹簧启动机tomcat
1.5.13.释放
我刚刚删除了idea/bin/idea.properties
文件中idea.system.path
的目录
删除.idea/
和*.iml
文件,然后重新导入项目
但是我仍然不知道这个问题的原因和解决方案。您是否使用Spring初始化器创建了这个项目?当您创建一个maven项目并添加所有spring
依赖项时,就会发生这种情况。我也在使用Ubuntu 16。04@SAM不,我首先创建一个空项目,然后在项目结构中添加新的maven模块。这就是为什么您要面对这个问题。但您也可以继续,让我给您发一个屏幕截图。@SAM我使用了Spring Initializer,但它仍然报告这些错误。请参阅我的更新…如果您发现解决方案有帮助,请接受答案作为解决方案。快乐编码!!!好的,但是所有的库总是放在/WEB-INF/lib
中。是的,但不是放在输出文件夹中。你需要像图中描述的那样去做,这样库也可以在输出中使用。好的,我理解你的意思。但当我创建项目时,我将war
添加到了我的pom.xml
。因此,库在/WEB-INF/lib
下完好无损,位于工件的中。你尝试过这个建议吗?@AnandVarkeyPhilips是的,我已经将它设置为答案。