java没有“系统范围内已安装的”库
(*):它始终搜索classPath,以便加载库。由于可以为每个应用程序定义classPath(并且需要是),因此每个应用程序都可以选择哪些库以及它想要加载的版本。 如果您更深入地降低一个级别,并且具有以某种方式同时需要两个不同版本的单个应用程序,那么您甚至可以使用某些Class Path Trickery进行此操作。它可能会变得复杂,但绝对是可能的(OSGI是支持此功能的一个例子,即使是带有两个单独的WebApplications的Tomcat也可以做到这一点)。 我已经在Virtualenv说明中看到了对安全性的一些引用:Java具有一个非常彻底的安全系统。在服务器应用程序中,它通常被关闭,因为它更容易以这种方式配置,但是您可以轻松地配置允许使用Java应用程序的操作。
(*)几乎是extensions或扩展库,但是它们并没有大量使用,甚至可以轻松地从任意目录中加载这些库。
建造工具,例如Ant,Maven和Gradle是最接近
pip
或easy_install
的工具。
Virtualenv的概念是由classPath完成的。因此,java
Yyes(请参阅许多其他语言(Ruby,Python,go,r,r,php等),请参见
http://www.jenv.be/)。 我知道这可能有点晚了,但是Groovy/java具有GVM
Http://gvmtool.net/
,这是Ruby'sRenv.JAVA_HOME
设置。 为此,我开发了一个解决方案,该解决方案可帮助执行基于每个项目设置的适当配置(存储在一个文件夹中)。
请参见:https://github.com/alejandrorivera/maven-env
知道,只有在使用Maven来构建和/或运行项目时才有帮助。
没有java java是否“需要”像Virtualenv这样的工具,似乎可以让您迅速在不同的Java环境之间切换(例如,具有这样的安全扩展的Java 6,Java 7等)很方便 - 即使在封面下实际上是在操纵java__home and class and class&class&class&class&class&class&class&class&class&class and and varia,即使所有人实际上都在操作。
Maven,您可以明确指定在Java Project中使用哪些软件包
java作为一种语言不需要Virtualenv的沙盒功能,但是像Jython这样的JVM语言可以使用Virtualenv使用不同的环境而不会发生任何冲突。 this Blog PostQuote:
为Jython安装了Virtualenv。只需键入“ jeasy_install virtualenv”。一旦完成,您应该在 Jython安装的bin文件夹。
因此,当使用Jython时,可以使用不同的框架和软件包而不会与全局软件包发生任何冲突。
是的,有。它是这样的工作:
mvn
它可在以下网址提供:
htts://github.com/frgomes/bash-scripts