Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Not A Bug
-
Affects Version/s: 2.0 final
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:Ubuntu 11.10, JDK 1.6 update 31, Grails 2.0.0
Description
See the attached screenshots
My JAVA_HOME variable is pointing to /usr/lib/jvm/java-6-sun
whereas Grails is picking it up as /usr/lib/jvm/java-6-sun/bin/java
Steps to reproduce:
Method 1:
- Do not install Java via deb packages. Download it manually and move the jdk directoty to /usr/lib/jvm/java-6-sun
- Use
export JAVA_HOME=/usr/lib/jvm/java-6-sun
- Run "grails". It will complain JAVA_HOME is not set
Method 2:
- Install Grails via PPA (deb package)
- Do not install Java via deb packages. Download it manually and move the jdk directoty to /usr/lib/jvm/java-6-sun
- Now create links using:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-sun/bin/java 1062 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-6-sun/bin/jar 1062 sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/java-6-sun/bin/javadoc 1062 sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java-6-sun/bin/javap 1062 sudo update-alternatives --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/java-6-sun/bin/jarsigner 1062 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-6-sun/bin/javac 1062 sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java-6-sun/bin/javah 1062 sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/java-6-sun/bin/javaws 1062
- Set a GRAILS_HOME variable in /etc/environment. Please note that it picks up only System wide variables.
I'm not sure of the steps to be followed to submit a pull request on github to contribute to grails code but changing the below line in startGrails will solve it.
Changed from:
to:
if [ ! $JAVA_HOME ]; then JAVA_HOME=$(update-alternatives --query java | grep Value | sed 's_^Value: __g' | sed 's_/jre/bin/java__g') fior
if [[ -z $JAVA_HOME ]]; then JAVA_HOME=$(update-alternatives --query java | grep Value | sed 's_^Value: __g' | sed 's_/jre/bin/java__g') fi