为什么 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 类型)。
您仅使用了 Connection
、Statement
、ResultSet
,并且在运行时您获得了一个 Oracle 连接,可能使用了容器管理的连接池。
您不会(再次强调,通常)使用从 ojdbc7
jar 中获取的 类 来编译您的代码。 jdbc
接口和 类 是 jre 的一部分。
而使用 mongodb,您可以使用特定的 类 和取自 mongo-java-driver
jar(及其依赖的 jar)的接口进行编码和编译。 类如MongoClient
、Document
等
为什么 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 类型)。
您仅使用了 Connection
、Statement
、ResultSet
,并且在运行时您获得了一个 Oracle 连接,可能使用了容器管理的连接池。
您不会(再次强调,通常)使用从 ojdbc7
jar 中获取的 类 来编译您的代码。 jdbc
接口和 类 是 jre 的一部分。
而使用 mongodb,您可以使用特定的 类 和取自 mongo-java-driver
jar(及其依赖的 jar)的接口进行编码和编译。 类如MongoClient
、Document
等