I am using virtualenv, which is a tool from the Python ecosystem. In a nutshell, this is a shell script that allows you to easily modify your PATH variable and go back to what it was before, if you need to.
First install virtualenvwrapper (wrapper around virtualenv):
$ apt-get install virtualenvwrapper
Now create a virtual environment like Java8 with Scala -2.11.
$ mkvirtualenv j8s11
Now configure ~ / .virtualenvs / j8s11 / bin / postactivate to determine the locations for all of your tools. Below is an example that works for me:
#! / bin / bash
JAVA_VERSION = 1.8.0_31
SCALA_VERSION = 2.11.5
SBT_VERSION = 0.13.7
ANT_VERSION = 1.9.4
M2_VERSION = 3.2.5
GRADLE_VERSION = 1.6
PLAY_VERSION = 2.3.7
ACTIVATOR_VERSION = 1.2.12
IDEA_VERSION = IC-135.475
PYCHARM_VERSION = community-3.4.1
TOOLS_HOME = / opt / developer
export JAVA_HOME = $ {TOOLS_HOME} / jdk $ {JAVA_VERSION}
export SCALA_HOME = $ {TOOLS_HOME} / scala - $ {SCALA_VERSION}
export SBT_HOME = $ {TOOLS_HOME} / sbt - $ {SBT_VERSION}
export ANT_HOME = $ {TOOLS_HOME} / apache-ant - $ {ANT_VERSION}
export M2_HOME = $ {TOOLS_HOME} / apache-maven - $ {M2_VERSION}
export GRADLE_HOME = $ {TOOLS_HOME} / gradle - $ {GRADLE_VERSION}
export PLAY_HOME = $ {TOOLS_HOME} / play - $ {PLAY_VERSION}
export ACTIVATOR_HOME = $ {TOOLS_HOME} / activator - $ {ACTIVATOR_VERSION}
export IDEA_HOME = $ {TOOLS_HOME} / idea - $ {IDEA_VERSION}
export PYCHARM_HOME = $ {TOOLS_HOME} / pycharm - $ {PYCHARM_VERSION}
PATH = $ {PYCHARM_HOME} / bin: $ PATH
PATH = $ {IDEA_HOME} / bin: $ PATH
PATH = $ {ACTIVATOR_HOME}: $ PATH
PATH = $ {PLAY_HOME}: $ PATH
PATH = $ {GRADLE_HOME} / bin: $ PATH
PATH = $ {M2_HOME} / bin: $ PATH
PATH = $ {ANT_HOME} / bin: $ PATH
PATH = $ {SBT_HOME} / bin: $ PATH
PATH = $ {SCALA_HOME} / bin: $ PATH
PATH = $ {JAVA_HOME} / bin: $ PATH
export PATH
- Now you can simply use workon to switch between environments. Example:
rgomes @ terra: ~ $ workon j8s11
(j8s11) rgomes @ terra: ~ $ java -version
java version "1.8.0_31"
Java (TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot (TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
(j8s11) rgomes @ terra: ~ $ scala -version
Scala code runner version 2.11.5 - Copyright 2002-2013, LAMP / EPFL
(j8s11) rgomes @ terra: ~ $ workon j7s10
(j7s10) rgomes @ terra: ~ $ java -version
java version "1.7.0_71"
Java (TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot (TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
(j7s10) rgomes @ terra: ~ $ scala -version
Scala code runner version 2.10.4 - Copyright 2002-2013, LAMP / EPFL
Richard Gomes Feb 21 '15 at 13:03 2015-02-21 13:03
source share