我正在使用Spring Boot 2.1.5.RELEASE,并且在pom.xml中具有以下依赖项
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
但是找不到org.postgresql.util.PGobject
。在另一个非Spring引导项目中,我具有以下依赖性
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5</version>
</dependency>
和org.postgresql.util.PGobject
可以使用。
您知道为什么在Spring Boot项目中找不到org.postgresql.util.PGobject
吗?
答案 0 :(得分:0)
因为您在runtime
范围内设置了Postgresql
JDBC驱动程序,所以具有以下行为:
此范围表示不需要依赖关系 编译,但用于执行。它在运行时进行测试 类路径,而不是编译类路径。
它不在编译类路径中,导致在编译期间找不到其类。您应该将其更改为compile
范围,这是默认范围,因此您可以简单地忽略<scope>
:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>