范围系统的类路径与提供的
Classpath for scope system vs provided
system
和 provided
范围 - 它们都很相似,但我想知道:
1) system
范围是否意味着依赖项将仅包含在运行时类路径中?
2) 两者的类路径有何不同? systempath
defined 是否成为 system
scope 依赖的类路径?
由于这些是 2 个简短的查询并且紧密耦合,因此不会为它们发布 2 个问题。
system
意味着该元素将逐字添加到类路径(即使用绝对路径)并且某人(管理员,包管理员)将 JAR 文件复制到 systempath
所在的位置指向。其他依赖在本地 Maven 仓库中搜索。除此之外,它就像 provided
.
不应该使用这种依赖。很久以前,使用 mvn file:install
.
将 JAR 添加到类路径而不将它们安装在本地 Maven 存储库中是一种简单的方法
provided
意味着当应用程序运行时它将以某种方式位于类路径中。一个例子是像 Tomcat 这样的 Web 容器,它带来了很多像 Servlet
这样的 HTTP 支持 类。那些 类 安全敏感并且需要与构建容器的内容相匹配。所以你必须告诉 Maven "please put it on the classpath for tests but not in the WAR, okay?".
另请参阅:
system
和 provided
范围 - 它们都很相似,但我想知道:
1) system
范围是否意味着依赖项将仅包含在运行时类路径中?
2) 两者的类路径有何不同? systempath
defined 是否成为 system
scope 依赖的类路径?
由于这些是 2 个简短的查询并且紧密耦合,因此不会为它们发布 2 个问题。
system
意味着该元素将逐字添加到类路径(即使用绝对路径)并且某人(管理员,包管理员)将 JAR 文件复制到 systempath
所在的位置指向。其他依赖在本地 Maven 仓库中搜索。除此之外,它就像 provided
.
不应该使用这种依赖。很久以前,使用 mvn file:install
.
provided
意味着当应用程序运行时它将以某种方式位于类路径中。一个例子是像 Tomcat 这样的 Web 容器,它带来了很多像 Servlet
这样的 HTTP 支持 类。那些 类 安全敏感并且需要与构建容器的内容相匹配。所以你必须告诉 Maven "please put it on the classpath for tests but not in the WAR, okay?".
另请参阅: