概述有没有Java版本pipe理器?
我曾经在我的linux机器上安装了多个JDK ,并且我喜欢从命令行切换到另一个版本(我曾经手动更改我的JAVA_HOME ):
这是我目前的做法:
我在我的.bashrcinput~/.paths 。
.paths包含我的机器上安装的所有JDK 。
试图编译windows的PHPredis
MonoDevelop编译和GAC
为x64和x86(并行安装)构buildOpenSSL?
铬在windows上生成失败
根据windows下的iconv构build一个Haskell程序
JDK7=\”~/local/jdk1.7.0_15\” JDK8=\”~/local/jdk1.8.0\” // I use Jdk 7 by default JDK_HOME=$JDK7; // including $JDK_HOME/bin to the $PATH
当我不想切换到JDK8 ,我修改了JDK_HOMEvariables,使其指向文件中的JDK8 ,然后re-source我的.paths文件。
我知道IDE可以轻松地pipe理多个JDK ,但是我想要一个类似rvm的解决scheme。
有没有更好的把戏?
更好,在Java中是否有任何等价的rvm ?
无法在linux中使用androID-ndk创build共享库?
由windows和linux生成的可执行文件有什么区别
Maven构build文件更改
在linux机器上用Ant进行安装失败,但在Mac机器上成功
使用MinGW-w64和Boost.Build构buildC ++环境
有jdk_switcher,虽然它对于一些ubuntu路径来说是相当静态的,但应该很容易将其修改为从其他路径运行。
有一个计划,使RVM 2支持切换更多的只是Ruby版本,你可以在这里阅读更多关于它。
任何有链接的人都可以评论。
我不认为有这样的解决办法。 看到这个问题的解决方案符号链接。
您可以根据需要安装尽可能多的Java版本。 只需安装到您选择的文件夹并使用一些约定。
如果您想一次性使用特定版本,请使用完整路径(例如)运行它:
>C:javajdk-6u35binjava.exe
要么
>/java/jdk-6u35/bin/java.exe
如果你想改变使用它,改变你的路径,把你想要的版本在前面。 路径可能与上面显示的类似。
一定要改变JAVA_HOME以及任何其他的环境设置,包括对java位置的引用。
请注意,有些工具具有内部配置,以便使用哪个Java版本。 Eclipse是一个很好的例子。 您必须设置JVM的列表,然后为每个项目或所有项目选择一个。
现在,我正在使用jdk-manager ,一个小小的bash脚本来管理多个JDKS安装。
我写了自己的脚本来管理Java版本。 我使用一些需要Oracle Java的站点,通常是最新版本,所以我不能使用apt / aptitude,因此不能使用update-alternatives或者jdk-manager(使用update-alternatives)。
这是我的脚本。 我不专业发展,所以可能是一团糟,但它符合我的目的。 它只考虑存储在/ usr / lib / jvm中的java版本。
#!/bin/bash # the proper way…. # + update: update-alternatives only works for versions installed by apt or aptitude # … same for jdk-manager (uses update-alternatives to do the heavy lifting) #echo \”The proper way is:\” #echo \”$ update-alternatives –config java\” #exit # the rest is (no longer) depreciated…. echo \”The current default java is $(readlink –canonicalize `which java`)\” ps3=\’Select Java to install: \’ options=( $(find /usr/lib/jvm -iname java) ) noptions=${#options[@]} (( loption=noptions-1 )) options[${#options[@]}]=\”Quit\” select opt in \”${options[@]}\” do for i in $(seq 0 $loption); do [ \”$opt\” == \”${options[$i]}\” ] && javapath=${options[$i]} done if [ \”$javapath\” ]; then break fi if [ \”$opt\” == \”Quit\” ]; then echo \”nothing installed.\”; exit else echo \”InvalID option. Try another one.\”; continue fi done # remove the old link (might be superfluous) #rm -vf — \”$link\” # set new link (symbolic,force,verbose) sudo ln -sTfv \”$javapath\” \”/usr/bin/java\” default_java_dir=$(echo \”$javapath\” | grep –only-matching –regexp=\”/usr/lib/jvm/[^/]*\”) sudo ln -sTfv \”$default_java_dir\” \”/usr/lib/jvm/default-java\” java_bin_dir=$(echo \”$javapath\” | sed \’s/[^/]*$//\’) echo $java_bin_dir [ -f \”${java_bin_dir}javac\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}javac\” [ -f \”${java_bin_dir}javadoc\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}javadoc\” [ -f \”${java_bin_dir}javafxpackager\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}javafxpackager\” [ -f \”${java_bin_dir}javah\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}javah\” [ -f \”${java_bin_dir}javap\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}javap\” [ -f \”${java_bin_dir}java-rmi.cgi\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}java-rmi.cgi\” [ -f \”${java_bin_dir}java_vm\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}java_vm\” [ -f \”${java_bin_dir}javaws\” ] && sudo ln -sfv -t \”/usr/bin\” \”${java_bin_dir}javaws\” find_dir=$(dirname \”$java_bin_dir\”) pluginpath=$(find \”$find_dir\” -name libnpjp2.so) #exit echo -n \”Install $pluginpath as the Java plugin? [y/N]: \” read response=$(echo $REPLY | sed \’y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMnopQRSTUVWXYZ/\’) if [ \”${response:0:1}\” == \”Y\” ]; then # directorIEs for plugins plugin_dirs=\”/usr/lib/firefox/plugins /usr/lib/firefox-addons/plugins /usr/lib/mozilla/plugins /opt/Google/Chrome /home/james/.mozilla/plugins\” # first,clean out anything we might have improperly installed already echo \”Using \’sudo\’ to remove any installed java plugins…\” for pdir in $plugin_dirs; do sudo rm –verbose –force \”$pdir/libjavaplugin_oji.so\” \”$pdir/libnpjp2.so\” \”$pdir/IcedTeaPlugin.so\” done # okay,trying brute force and awkwardness…. echo \”Using \’sudo\’ to install \”$pluginpath\” in several places…\” for pdir in $plugin_dirs; do sudo ln –symbolic –verbose –force \”$pluginpath\” \”$pdir\” done fi exit
如果您使用Debian或派生的GNU / linux发行版,则可以使用更新选项来设置当您键入java时正在运行的内容。
尝试打字
update-alternatives –display java
这将显示你有什么替代品可用。 这个命令是非破坏性的,也就是说,它不会改变任何东西。
man update-alternatives
会给你的工具手册。 你可能想要的命令是:
update-alternatives –config java
这将给你一个简单的,交互的方式来设置Java程序。 如果你想编写脚本,你也可以使用–set。
当然,如果不先跑人,就不要相信我,因为人们有时会上网说谎。 ;)
编辑:我忘了, 这个链接介绍了更好的选择(如果特定的方式)。
对于linux,您可以使用update-alternatives不仅可以设置java,javac和其他二进制文件的路径,还可以设置JAVA_HOME。 由于它所做的只是管理链接,所以可以安装到您的jdk目录的链接,然后将JAVA_HOME设置为指向该链接。 例如,“update-alternatives –install / usr / lib / jdk jdk / path / to / jdk8 1”将安装一个指向你的jdk目录的链接。 然后,在.bashrc,.profile或任何您用于设置环境变量的文件中添加“将JAVA_HOME导出到/ usr / lib / jdk”,并且在使用更新进行切换时,将在JAVA_HOME下指定的名称为jdk的任何替代-alternatives – 配置jdk。 如果您正在使用java可执行文件的替代方法,则可以使用–slave在java中执行jdk。
总结
以上是内存溢出为你收集整理的有没有Java版本pipe理器?全部内容,希望文章能够帮你解决有没有Java版本pipe理器?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容