为什么 MongoDB maven 依赖项不能添加到运行时范围?

Why does MongoDB maven dependency cannot be added with runtime scope?

为什么 MongoDB maven 依赖项不能添加为 runtime 而对于所有其他数据库它可以正常工作?

pom.xml

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>7.0</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.1.0</version>
</dependency>

请指导。

因为对于 oracle,您使用的是 oracle 仅实现的 jdbc API(除非您使用的是 oracle SQL 类型)。

您仅使用了 ConnectionStatementResultSet,并且在运行时您获得了一个 Oracle 连接,可能使用了容器管理的连接池。

您不会(再次强调,通常)使用从 ojdbc7 jar 中获取的 类 来编译您的代码。 jdbc 接口和 类 是 jre 的一部分。

而使用 mongodb,您可以使用特定的 类 和取自 mongo-java-driver jar(及其依赖的 jar)的接口进行编码和编译。 类如MongoClientDocument