瀏覽代碼

Merge pull request #1080 from marko-asplund/issue-1048

Java: Add support for Oracle Java 8
Hamilton Turner 10 年之前
父節點
當前提交
2a7b21fb4a
共有 2 個文件被更改,包括 43 次插入0 次删除
  1. 15 0
      frameworks/Java/README.md
  2. 28 0
      toolset/setup/linux/languages/java8.sh

+ 15 - 0
frameworks/Java/README.md

@@ -0,0 +1,15 @@
+# Installation and Bash Configuration
+
+In order to declare that your framework requires Java, you should have an `install.sh`
+that contains at least
+
+    #!/bin/bash
+
+    fw_depends java
+
+This installs the OpenJDK 7 JVM.
+
+Frameworks can also choose to install Oracle Java 8 JVM by declaring a dependency on "java8"
+instead of java. In order to use Java 8 JVM frameworks need to add the following line in their "bash_profile.sh" file:
+
+export JAVA_HOME=/opt/java8

+ 28 - 0
toolset/setup/linux/languages/java8.sh

@@ -0,0 +1,28 @@
+#!/bin/bash
+
+RETCODE=$(fw_exists java8.installed)
+[ ! "$RETCODE" == 0 ] || { return 0; }
+
+sudo add-apt-repository -y ppa:webupd8team/java
+sudo apt-get update
+echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
+sudo apt-get install -y oracle-java8-installer
+
+sudo ln -sf /usr/lib/jvm/java-8-oracle /opt/java8
+
+# set Java 7 (OpenJDK) as the default, as before.
+sudo update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
+sudo update-alternatives --set javac /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
+
+# try to make sure all JDK binaries default to OpenJDK 7, not Java 8.
+update-alternatives --get-selections | grep java-8 | sed -e 's/java-8-oracle/java-7-openjdk-amd64/' | while read line
+do
+  l=(${line// / })
+  n=${l[0]}
+  p=${l[2]}
+  if [ -e "$p" ]; then
+    sudo update-alternatives --set $n "$p"
+  fi
+done
+
+touch $IROOT/java8.installed