有没有像VirtualEnv for Java这样的东西?

2022-08-31 20:17:38

有没有类似于Python virtualenv for Java或JVM Languages的东西?


答案 1

据我所知,virtualenv使您能够拥有单独的库安装路径,有效地分离“虚拟”Python安装。

Java没有“系统范围的安装”库(*)的概念:它总是在类路径中搜索要加载的库。由于可以(并且需要!)为每个应用程序定义类路径,因此每个应用程序都可以选择要加载的库和版本。

如果你深入一个层次,并且有一个应用程序以某种方式同时需要同一库的两个不同版本,那么你甚至可以用一些类路径技巧来做到这一点。它可能会变得复杂,但它绝对是可能的(OSGi是支持这一点的一个例子,即使是具有两个独立Web应用程序的Tomcat也可以做到这一点)。

我在virtualenv的描述中看到了一些对安全性的引用:Java内置了一个非常全面的安全系统。在服务器应用程序中,它通常处于关闭状态,因为以这种方式进行配置更容易,但是您可以轻松配置Java应用程序允许执行的确切操作。

(*)几乎,有扩展或扩展库,但它们并不常用,甚至这些都可以轻松地从任意目录中加载。


答案 2

像 Ant、Maven 和 gradle 这样的构建工具是最接近 或 .pipeasy_install

virtualenv 的概念由类路径完成。因此,Java实际上并不需要virtualenv。