Git Product home page Git Product logo

ansible-oracle-java's Introduction

williamyeh.oracle-java for Ansible Galaxy

Build Status Circle CI

Summary

Role name in Ansible Galaxy: williamyeh.oracle-java

This Ansible role has the following features for Oracle JDK:

  • Install JDK 7 or 8 version.
  • Install optional Java Cryptography Extensions (JCE)
  • Install for CentOS, Debian/Ubuntu, SUSE, and Mac OS X families.

If you prefer OpenJDK, try alternatives such as geerlingguy.java or smola.java.

Role Variables

Mandatory variables

None.

Optional variables

User-configurable defaults:

# which version?
java_version: 8

# which subversion?
java_subversion: 112

# which directory to put the download file?
java_download_path: /tmp

# rpm/tar.gz file location:
#   - true: download from Oracle on-the-fly;
#   - false: copy from `{{ playbook_dir }}/files` on the control machine.
java_download_from_oracle: true

# remove temporary downloaded files?
java_remove_download: true

# set $JAVA_HOME?
java_set_javahome: false

# install JCE?
java_install_jce: false

For other configurable internals, read tasks/set-role-variables.yml file; for example, supported java_version/java_subversion combinations.

If you want to install a Java release which is not supported out-of-the-box, you have to specify the corresponding Java build number in the variable java_build in addition to java_version and java_subversion, e.g.

---
- hosts: all

  roles:
    - williamyeh.oracle-java

  vars:
    java_version: 8
    java_subversion: 91
    java_build: 14

Customized variables, if absolutely necessary

If you have a pre-downloaded jdk_tarball_file whose filename cannot be inferred successfully by tasks/set-role-variables.yml, you may specify it explicitly:

# Specify the pre-fetch filename (without tailing .tar.gz or .rpm or .dmg);
# used in conjunction with `java_download_from_oracle: false`.

jdk_tarball_file

# For example, if you have a `files/jdk-7u79-linux-x64.tar.gz` locally,
# but the filename cannot be inferred successfully by `tasks/set-role-variables.yml`,
# you may specify the following variables in your playbook:
#
#    java_version:    7
#    java_subversion: 79
#    java_download_from_oracle: false
#    jdk_tarball_file: jdk-7u79-linux-x64
#

Usage

Step 1: add role

Add role name williamyeh.oracle-java to your playbook file.

Step 2: add variables

Set vars in your playbook file.

Simple example:

---
# file: simple-playbook.yml

- hosts: all

  roles:
    - williamyeh.oracle-java

  vars:
    java_version: 8

(Optionally) pre-fetch .rpm and .tar.gz files

For some reasons, you may want to pre-fetch .rpm and .tar.gz files before the execution of this role, instead of downloading from Oracle on-the-fly.

To do this, put the file on the {{ playbook_dir }}/files directory in advance, and then set the java_download_from_oracle variable to false:

---
# file: prefetch-playbook.yml

- hosts: all

  roles:
    - williamyeh.oracle-java

  vars:
    java_version: 8
    java_download_from_oracle: false

Dependencies

License

Licensed under the Apache License V2.0. See the LICENSE file for details.

History

Rewritten from my pre-Galaxy version: server-config-template.

ansible-oracle-java's People

Contributors

daytong avatar martinthegeek avatar mbautin avatar mmannerm avatar soniah avatar thomasdarimont avatar tjuerge avatar turkenh avatar verhage avatar william-yeh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ansible-oracle-java's Issues

Java is downloaded even when it is installed

When java_download_from_oracle: true is set, this role downloads the Java package even when it is installed. This takes up bandwidth and time, and makes this role not indempotent.

Currently, the installed version is checked just before installation. This check should be done earlier, before the download.

Ansible java role issue

William,
The "williamyeh.oracle-java" role leaves a copy of the downloaded jdk and fails to delete it after installation. I use your debian8 image as a base. Here is what my container looks like after using the role - notice the downloaded jdk bundle:

total 177020
     4 -rw-rw-r-- 1 root root       396 Oct 23 04:16 Dockerfile
     4 -rwxr-xr-x 1 root root       397 Oct 23 04:17 check-tarball-installed.sh
     4 -rw-rw-r-- 1 root root       381 Oct 23 04:16 docker-image-base.yml
     4 drwxrwxr-x 2 root root      4096 Oct 23 04:16 group_vars
176996 -rw-r--r-- 1 root root 181238643 Oct 23 04:18 jdk-8u60-linux-x64.tar.gz
     4 drwxrwxr-x 2 root root      4096 Oct 23 04:16 roles
     4 drwxrwxr-x 2 root root      4096 Oct 23 04:16 templates

Need java_sdk alternative slave

Too busy to do the fork/pull request thingy y ;( )

Needs to modify the files/update-alternatives.sh to be modified to include --slave /usr/lib/jvm/java java_sdk /usr/java/default

    update-alternatives --verbose  \
        --install /usr/bin/java   java   /usr/java/default/bin/java 1  \
        --slave   /usr/bin/javac  javac  /usr/java/default/bin/javac   \
        --slave   /usr/bin/jar    jar    /usr/java/default/bin/jar \
        --slave   /usr/lib/jvm/java java_sdk /usr/java/default

Error an Amazon Linux 2015.09.1

I am getting the following error when executing the role on the latest Amazon Linux:

TASK: [williamyeh.oracle-java | uninstall messy packages to avoid blocking conditions] ***
fatal: [x.x.x.x] => Traceback (most recent call last):
  File "/usr/local/Cellar/ansible/1.9.4/libexec/lib/python2.7/site-packages/ansible/runner/__init__.py", line 586, in _executor
    exec_rc = self._executor_internal(host, new_stdin)
  File "/usr/local/Cellar/ansible/1.9.4/libexec/lib/python2.7/site-packages/ansible/runner/__init__.py", line 789, in _executor_internal
    return self._executor_internal_inner(host, self.module_name, self.module_args, inject, port, complex_args=complex_args)
  File "/usr/local/Cellar/ansible/1.9.4/libexec/lib/python2.7/site-packages/ansible/runner/__init__.py", line 869, in _executor_internal_inner
    if not utils.check_conditional(cond, self.basedir, inject, fail_on_undefined=self.error_on_undefined_vars):
  File "/usr/local/Cellar/ansible/1.9.4/libexec/lib/python2.7/site-packages/ansible/utils/__init__.py", line 269, in check_conditional
    conditional = template.template(basedir, presented, inject)
  File "/usr/local/Cellar/ansible/1.9.4/libexec/lib/python2.7/site-packages/ansible/utils/template.py", line 124, in template
    varname = template_from_string(basedir, varname, templatevars, fail_on_undefined)
  File "/usr/local/Cellar/ansible/1.9.4/libexec/lib/python2.7/site-packages/ansible/utils/template.py", line 382, in template_from_string
    res = jinja2.utils.concat(rf)
  File "<template>", line 9, in root
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded


FATAL: all hosts have already failed -- aborting

get the play idempotent: 2 propositions

Hi,
I'm getting this play on Debian Wheezy working, with 2 changes to get it almost perfect.
In use-apt.yml:

- name: Import WebUpd8 PGP key
  sudo: True
  # command: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
  apt_key: keyserver=keyserver.ubuntu.com id=0xEEA14886 state=present

- name: automatically accept the Oracle license
  sudo: True
  # shell: echo "oracle-java{{ java_version }}-installer" shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
  debconf: name="oracle-java{{ java_version }}-installer" question='shared/accepted-oracle-license-v1-1' value='true' vtype='select'

Like this, running the play again won't report 2 "changed" states when it shouldn't.

Another suggestion: why forcing sudo on tasks level? Wouldn't it be better to let people set sudo on/off in their inventory?

Regards,
Florent

update README to suggest correct java_subversion for local rpm file (Centos 7)

my settings for a local rpm file in files/jdk-8u181-linux-x64.rpm was not working (Centos 7)

# which version?
java_version: 8

# which subversion?
java_subversion: 181

jdk_tarball_file: jdk-8u181-linux-x64

java_download_path: /tmp
java_download_from_oracle: false
java_remove_download: false

java_set_javahome: true
java_install_jce: false

I've fixed it by replacing:

java_subversion: 181

with

java_subversion: 181-amd64

Incorrect check java version

Hello!

Script files/check-java-version.sh check java including OpenJDK. May be replace to:

line=$(java -version 2>&1 | grep $PACKAGE | grep -iv openjdk | wc -l)

?

Cannot download rpm from oracle :(

I have the following error when downloading the rpm package from Oracle :

TASK [williamyeh.oracle-java : get JDK tarball (as RPM file)] ******************
fatal: [ec2-52-208-102-233.eu-west-1.compute.amazonaws.com]: FAILED! => {"changed": false, "dest": "/tmp/jdk-8u72-linux-x64.rpm", "failed": true, "msg": "Request failed", "response": "HTTP Error 503: Service Unavailable", "state": "absent", "status_code": 503, "url": "http://download.oracle.com/otn-pub/java/jdk/8u72-b15/jdk-8u72-linux-x64.rpm"}

It looks like Oracle added recently some limitations..
Yesterday, the role worked perfectly!

When I try to download the rpm directly from my browser, I got this error :
capture du 2016-11-10 17 12 40

Ubuntu 16.04: after installation, 'java -version' still links to OpenJDK

After executing the role on Ubuntu 16.04,

java -version

returns

openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

That is because /usr/lib/jvm/default links to the wrong version of java

~# ls -la /usr/lib/jvm/default-java
lrwxrwxrwx 1 root root 24 Feb 25 20:41 /usr/lib/jvm/default-java -> java-1.8.0-openjdk-amd64

As a workaround I have to remove the incorrect link and create the right one as shown at https://github.com/fdiotalevi/my-ansible-playbooks/blob/master/dev-machine/03-java-stuff.yml#L6

JAVA 8 links are 404 again.

FAILED! => {"changed": false, "dest": "/tmp/jdk-8u152-linux-x64.rpm", "msg": "Request failed", "response": "HTTP Error 404: Not Found", "state": "absent", "status_code": 404, "url": "http://download.oracle.com/otn-pub/java/jdk/8u152-b16/jdk-8u152-linux-x64.rpm"}

also doesnt get the latest version

FAILED! => {"changed": false, "dest": "/tmp/jdk-8u112-linux-x64.rpm", "msg": "Request failed", "response": "HTTP Error 404: Not Found", "state": "absent", "status_code": 404, "url": "http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.rpm"}

Dry Run failed

Hi. Thanks for your developing this ansible role.
It's very useful for me.

But I noticed one problem.

When I run ansible-playbook command with --check option, this role is failed.
The error message is following.

TASK: [williamyeh.oracle-java | check if specific version of Oracle JDK is installed?] *** 
<ec2-52-69-102-92.ap-northeast-1.compute.amazonaws.com> ESTABLISH CONNECTION FOR USER: ec2-user
<ec2-52-69-102-92.ap-northeast-1.compute.amazonaws.com> EXEC ssh -C -tt -vvv -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/home/kuchitama/.ansible/cp/%h-%r" -o IdentityFile="../aws/sharewis-v3.pem" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ec2-user -o ConnectTimeout=10 ec2-52-69-102-92.ap-northeast-1.compute.amazonaws.com /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1445909710.77-107711552479239 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1445909710.77-107711552479239 && echo $HOME/.ansible/tmp/ansible-tmp-1445909710.77-107711552479239'
skipping: [ec2-52-69-102-92.ap-northeast-1.compute.amazonaws.com]
ok: [ec2-52-69-102-92.ap-northeast-1.compute.amazonaws.com] => {"msg": "check mode not supported for this module", "skipped": true}

TASK: [williamyeh.oracle-java | uninstall messy packages to avoid blocking conditions] *** 
fatal: [ec2-52-69-102-92.ap-northeast-1.compute.amazonaws.com] => Failed to template {% if (jdk_info.stdout|from_json).not_found %} True {% else %} False {% endif %}: an unexpected type error occurred. Error was expected string or buffer

FATAL: all hosts have already failed -- aborting

This error occurs only running with --check option.

Need to re-login in Ubuntu 14.04 to correctly set JAVA_HOME

After using the role for installing JDK with following parameters:

java_version: 8
java_subversion: 91
java_set_javahome: true

the script is copied to /etc/init.d directory (with execute permissions), but it seems not executed because immediately printing JAVA_HOME gives blank string. But on logging out and re-login, it gives appropriate value.

INFO: Works fine with CentOS 7.
Any help would be appreciated.

jdk 1.7.79 x 64 installation problem/ubuntu x64

Hi.

You need setup user values for jdk_version and other vars if user installed version not listed in set-role-variables.yml.

Fot example i try to install java_version 7 and java_subversion 79 jdk_arch x64 from local file.

In during installation i got error 'jdk_version' is undefined.

Fetch'-ing on Darwin retrieves .tar.gz instead of .dmg

Typo in: missing ( ) to combine the check.

  • name: get JDK tarball (as tar.gz file)

Change:
when: ansible_pkg_mgr != "yum" or ansible_pkg_mgr != "zypper" and ansible_os_family != 'Darwin'

Into:
when: (ansible_pkg_mgr != "yum" or ansible_pkg_mgr != "zypper") and ansible_os_family != 'Darwin'

Use become at a task level?

Hi,

I have a playbook that only uses become on specific tasks.
I'm I correct assuming that your role only works if the host uses become= true?

I got this error:

TASK [williamyeh.oracle-java : install JDK via RPM file with yum] **************
fatal: [172.28.128.3]: FAILED! => {"changed": true, "failed": true, "msg": "You need to be root to perform this command.\n", "rc": 1, "results": ["Loaded plugins: fastestmirror\n"]}

Failed to validate SSL certificates

Hi,

I'm getting the following error when attempting to download the rpm and tar.gz (fetch.yml get JDK tarball (as RPM file) and get JDK tarball (as tar.gz file)

fatal: [my.domain]: FAILED! => {
  "changed": false, 
  "failed": true, 
  "msg": "Failed to validate the SSL certificate for edelivery.oracle.com:443. Make sure your managed systems have a valid CA certificate installed. If the website serving the url uses SNI you need python >= 2.7.9 on your managed machine or you can install the `urllib3`, `pyopenssl`, `ndg-httpsclient`, and `pyasn1` python modules to perform SNI verification in python >= 2.6. You can use validate_certs=False if you do not need to confirm the servers identity but this is unsafe and not recommended. Paths checked for this platform: /etc/ssl/certs, /etc/pki/ca-trust/extracted/pem, /etc/pki/tls/certs, /usr/share/ca-certificates/cacert.org, /etc/ansible"
}

(not using mac but it will probably happen there as well?)
Simple wget from the machine works. For now I could only make it work by adding to these tasks validate_certs: no, but I wonder if there's a better solution.

Using ansible 2.1.0.0, Python on some of the Ubuntu machines is 2.7.3, on the Centos machines is Python 2.6.6.

Let me know if any other information is needed.

Thanks,
Aviad

Java on Raspbian (Debianfor Raspberry pi on ARM)

I'm using your role for Java installation, which works perfect on Vagrant Boxes.
Now I wanted to provision Raspberry Pi, and found out, that installation of a x86 Java on ARM doesn't work.

Raspbian has a ported version of Oracle JDK inside of their APT-Repo.

Re-downloading tarball on every install (on same machine)

In my test env, I have several services being installed on a single machine.

However, with Ansible 2.0 (maybe earlier too), it is re-downloading the java tarball on each play. I think the culprit is 'check if specific version of Oracle JDK is installed?'. At a guess i would say that the response from check-tarball-installed.sh is being cached between plays because 'changed_when: false' means it will never report a change (and so doesn't re-register the jdk_info in order to skip "install-jdk-tarball.yml"):

https://github.com/William-Yeh/ansible-oracle-java/blob/master/tasks/use-tarball.yml#L12

Cannot install JDK8 and Centos 6.7

To install JDK 8 on CentOS 6.7 I have to modify following condition:
when: java_version == 8 and (jdk8_info.stdout|from_json).not_found
to
when: java_version == 8

When I look at jdk8_info.stdout I see:
"msg": "{'stdout': '{ \"found\": true , \"not_found\": false }

I run playbook from

ansible --version
ansible 1.9.2
at Ubuntu 15.04

fatal: [default]: FAILED! => {"changed": false, "dest": "/tmp/jdk-8u112-linux-x64.tar.gz", "failed": true, "msg": "Request failed", "response": "HTTP Error 404: Not Found", "state": "absent", "status_code": 404, "url": "http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz"}

started getting this error today, it worked last week but now it doesn't

fatal: [default]: FAILED! => {"changed": false, "dest": "/tmp/jdk-8u112-linux-x64.tar.gz", "failed": true, "msg": "Request failed", "response": "HTTP Error 404: Not Found", "state": "absent", "status_code": 404, "url": "http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz"}

Install JDK7 and 8 in one playbook

- { role: williamyeh.oracle-java,
    java_version: 7,
    java_subversion: 80,
    java_set_javahome: true,
    java_install_jce: true }

- { role: williamyeh.oracle-java,
    java_version: 8,
    java_subversion: 92,
    java_install_jce: true }

For the second role, the error part is:

TASK [williamyeh.oracle-java : compose filename, if necessary] *****************
task path: /etc/ansible/roles/williamyeh.oracle-java/tasks/set-role-variables.yml:111
skipping: [127.0.0.1] => {"changed": false, "skip_reason": "Conditional check failed", "skipped": true}

TASK [williamyeh.oracle-java : compose url for downloading file, if necessary] *
task path: /etc/ansible/roles/williamyeh.oracle-java/tasks/set-role-variables.yml:116
ok: [127.0.0.1] => {"ansible_facts": {"jdk_tarball_url": "http://download.oracle.com/otn-pub/java/jdk/**8u92-b14**/**jdk-7u80-linux-x64**"}, "changed": false}

It looks jdk_tarball_file is not cleared after first role execution. The second role finds jdk_tarball_file still exists.

A problem with Debian

Hi,

Using it with Deabian 8.2 - from minimal distro - I found this issue:

TASK [williamyeh.oracle-java : install JDK via tarball file] *******************
fatal: [debian.ansible]: FAILED! => {"changed": false, "failed": true, "msg": "dest '/usr/java' must be an existing dir"}

I tried the dir before using, but I had the same error

- name: Creates directory /usr/java 
  file: path=/usr/java  state=directory
  when: ansible_os_family == "Debian"

I'm searching to understand howto to solve...

get JDK tarball (as RPM file) error

Hello,

I receive the following error when I want to install java with your playbook
TASK [oracle-java : get JDK tarball (as RPM file)] ***************************** fatal: [host]: FAILED! => {"failed": true, "msg": "The conditional check '(jdk_info.stdout|from_json).not_found' failed. The error was: Unexpected templating type error occurred on ({% if (jdk_info.stdout|from_json).not_found %} True {% else %} False {% endif %}): expected string or buffer\n\nThe error appears to have been in '$PATH/oracle-java/tasks/main.yml': line 37, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- include: install.yml\n ^ here\n"}

CentOS 7.2.1511

Variables:
java_version: 8 java_set_javahome: true java_install_jce: true

Thanks,
Stephan

[FEATURE-REQUEST] Support JDK9

Hi,

I love your role for ansible and its working great. Very important for us is the possibility to use a stored installation file, because our servers haven't access to the web.

It would be nice to see a JDK9 support and maybe the setfact messages could be quiet.
The only thing i noticed is that the checkmode fails sometimes. I'll analyze it an give further
Feedback.

Best regards

Thomas

Update to support jdk 8u121

Please add support for Oracle jdk 8u121. I tried specifying it manually using this, but it won't download.

  vars:
    java_version: 8
    java_subversion: 121
    java_build: 13

fatal: [XXX]: FAILED! => {"changed": false, "dest": "/tmp/jdk-8u121-linux-x64.rpm", "failed": true, "msg": "Request failed", "response": "HTTP Error 404: Not Found", "state": "absent", "status_code": 404, "url": "http://download.oracle.com/otn-pub/java/jdk/8u121-b13/jdk-8u121-linux-x64.rpm"}

Problem setting java version

When I specify:

java_version: 8
java_subversion: 102

I get this error:

TASK [williamyeh.oracle-java : get JDK tarball (as tar.gz file)] ***************
fatal: [localhost]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'jdk_tarball_url' is undefined\n\nThe error appears to have been in '/projects/ansible-scripts/external_roles/williamyeh.oracle-java/tasks/fetch.yml': line 13, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: get JDK tarball (as tar.gz file)\n  ^ here\n"}

If I don't set the java version, it works, but installs old java version 8 update 92 - the default one.

How do I specify the latest version?

error with latest version

I ran it on ubuntu 14.04 64, and got these:

failed: [xx.xx.xx.xx] => {"cmd": "/usr/bin/update-alternatives --install /usr/lib/jvm/java java_sdk /usr/java/default 50", "failed": true, "rc": 2}
stderr: update-alternatives: error: error creating symbolic link `/usr/lib/jvm/java.dpkg-tmp': No such file or directory

stdout: update-alternatives: using /usr/java/default to provide /usr/lib/jvm/java (java_sdk) in auto mode

msg: update-alternatives: error: error creating symbolic link `/usr/lib/jvm/java.dpkg-tmp': No such file or directory
...ignoring

Error during role execution (ignored)

Seeing the below error with the java role, I know it is ignored, still ....

TASK: [williamyeh.oracle-java | alternatives link for "jar"] ****************** 
changed: [localhost]

TASK: [williamyeh.oracle-java | alternatives link for "java_sdk"] ************* 
failed: [localhost] => {"cmd": "/usr/sbin/update-alternatives --install /usr/lib/jvm/java java_sdk /usr/java/default 50", "failed": true, "rc": 2}
stderr: update-alternatives: error: error creating symbolic link `/usr/lib/jvm/java.dpkg-tmp': No such file or directory

stdout: update-alternatives: using /usr/java/default to provide /usr/lib/jvm/java (java_sdk) in auto mode

msg: update-alternatives: error: error creating symbolic link `/usr/lib/jvm/java.dpkg-tmp': No such file or directory
...ignoring

TASK: [williamyeh.oracle-java | remove temporary downloaded files, if requested] *** 

"'jdk_version' is undefined" on CentOS 7

TASK [williamyeh.oracle-java : check if specific version of Oracle JDK is installed?] ***
fatal: [xxxxx]: FAILED! => {"failed": true, "msg": "'jdk_version' is undefined"}
fatal: [xxxx]: FAILED! => {"failed": true, "msg": "'jdk_version' is undefined"}
to retry, use: --limit @install.retry

When I add java_subversion

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.