在 Maven 中编译时间依赖和 运行 时间依赖
Compile Time Dependency and Run time dependency in Maven
我是 Maven 的新手,目前正在尝试了解依赖管理机制。有人可以告诉我一个只在运行时而不是编译时需要项目依赖项的实例吗?
我很困惑,因为如果在编译时不需要某些东西,怎么可能需要运行时依赖?
了解编译时间和 运行 时间依赖性之间差异的用例之一是 JDBC 连接。
在JDBC连接中一般我们使用
class.forname( "com.mysql.jdbc.driver")
所以 MySQL 在 运行 期间需要 jar,而不是在编译期间,因此它是 运行 时间依赖而不是编译时间依赖
除了 Jason1 的回答:
- 如果你有一个注入对象的容器(例如,使用 EJB),你在编译时只需要接口,但在运行时,必须有实现。
- 有些结构可以根据 "empty method definitions" 进行编译,但将完整的方法用作运行时环境的一部分。
我是 Maven 的新手,目前正在尝试了解依赖管理机制。有人可以告诉我一个只在运行时而不是编译时需要项目依赖项的实例吗?
我很困惑,因为如果在编译时不需要某些东西,怎么可能需要运行时依赖?
了解编译时间和 运行 时间依赖性之间差异的用例之一是 JDBC 连接。 在JDBC连接中一般我们使用
class.forname( "com.mysql.jdbc.driver")
所以 MySQL 在 运行 期间需要 jar,而不是在编译期间,因此它是 运行 时间依赖而不是编译时间依赖
除了 Jason1 的回答:
- 如果你有一个注入对象的容器(例如,使用 EJB),你在编译时只需要接口,但在运行时,必须有实现。
- 有些结构可以根据 "empty method definitions" 进行编译,但将完整的方法用作运行时环境的一部分。