有Java的Virtualenv之类的吗?

问题描述 投票:0回答:7
virtualenv

用于java或jvm语言吗?

java python virtualenv jvm-languages
7个回答
48
投票
从我了解的内容中,Virtualenv使您能够具有单独的库安装路径,有效地分开“虚拟” python安装。

java没有“系统范围内已安装的”库

(*)

:它始终搜索classPath,以便加载库。由于可以为每个应用程序定义classPath(并且需要是),因此每个应用程序都可以选择哪些库以及它想要加载的版本。 如果您更深入地降低一个级别,并且具有以某种方式同时需要两个不同版本的单个应用程序,那么您甚至可以使用某些Class Path Trickery进行此操作。它可能会变得复杂,但绝对是可能的(OSGI是支持此功能的一个例子,即使是带有两个单独的WebApplications的Tomcat也可以做到这一点)。 我已经在Virtualenv说明中看到了对安全性的一些引用:Java具有一个非常彻底的安全系统。在服务器应用程序中,它通常被关闭,因为它更容易以这种方式配置,但是您可以轻松地配置允许使用Java应用程序的操作。

(*)几乎是extensions或扩展库

,但是它们并没有大量使用,甚至可以轻松地从任意目录中加载这些库。

建造工具,例如Ant,Maven和Gradle是最接近

pipeasy_install的工具。 Virtualenv的概念是由classPath完成的。因此,java

没有真正需要Virtualenv

7
投票

Yyes(请参阅许多其他语言(Ruby,Python,go,r,r,php等),请参见

http://www.jenv.be/
)。

我知道这可能有点晚了,但是Groovy/java具有GVM

Http://gvmtool.net/

,这是Ruby'sRenv.

5
投票
我2美分 -w

我还一直在寻找类似的解决方案,以简化使用不同Maven版本/设置和/或Java SDK的项目之间的切换上下文,而无需每次修改

M2_HOME

3
投票
JAVA_HOME

设置。 为此,我开发了一个解决方案,该解决方案可帮助执行基于每个项目设置的适当配置(存储在一个文件夹中)。

请参见:

https://github.com/alejandrorivera/maven-env

知道,只有在使用Maven来构建和/或运行项目时才有帮助。

3
投票
我对“ Java没有'系统范围安装的'库”的概念感到困惑。您将在$ java_home/jre/lib和$ java_home/jre/lib/ext中称呼什么?

没有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 Post
Quote:

  

为Jython安装了Virtualenv。只需键入“ jeasy_install virtualenv”。一旦完成,您应该在 Jython安装的bin文件夹。

因此,当使用Jython时,可以使用不同的框架和软件包而不会与全局软件包发生任何冲突。

是的,有。它是这样的工作:

mvn

2
投票
debian,Ubuntu和Opensuse可用。其他Linux分布甚至MACO都可以通过相对少量的努力来支持。

它可在以下网址提供:

htts://github.com/frgomes/bash-scripts


1
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.