Saturday, February 19, 2022

[SOLVED] Centos 7: Java version for Maven

Issue

I have a open jdk installed on my centos 7. I would like maven to use java 1.8. I wouldn't want to break the machine's java. What would be the best way to achieve this?

Running: mvn -v

`Maven home: /usr/share/maven
 Java version: 1.7.0_131, vendor: Oracle Corporation
 Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el7_3.x86_64/jre
 Default locale: en_US, platform encoding: UTF-8
 OS name: "linux", version: "3.10.0-514.10.2.el7.x86_64", arch: 
 "amd64", family: "unix"`

running: java -version

`openjdk version "1.8.0_121"
 OpenJDK Runtime Environment (build 1.8.0_121-b13)
 OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)`

Here is my mvn config

running : cat /usr/bin/mvn

`#!/bin/sh
if [ -f /usr/share/java-utils/java-functions ] ; then
   . /usr/share/java-utils/java-functions
   set_jvm
   set_javacmd
fi
export M2_HOME="${M2_HOME:-/usr/share/maven}"
export JAVA_HOME; $M2_HOME/bin/mvn "$@"` 

Running $yum search java | grep openjdk

`java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
 java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
 java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
 java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
 java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
 java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
 java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
 java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
 java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
 java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without
 java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
 java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
 java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment
 java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
 java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
 java-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK accessibility connector
 java-1.8.0-openjdk-debug.i686 : OpenJDK Runtime Environment with full debug on
 java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug on
 java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
 java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos with full debug on
 java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment
 java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
 java-1.8.0-openjdk-devel-debug.i686 : OpenJDK Development Environment with full
 java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment with
 java-1.8.0-openjdk-headless.i686 : OpenJDK Runtime Environment
 java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
 java-1.8.0-openjdk-headless-debug.i686 : OpenJDK Runtime Environment with full
 java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full
 java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
 java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK API Documentation for packages
 java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK API Documentation compressed in
 java-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK API Documentation
 java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
 java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle for packages with`

Solution

ran:
yum install java-1.8.0-openjdk-devel

then:

alternatives --config javac

Selected the version required for my project.

Thanks for all the replies!



Answered By - Jauyzed
Answer Checked By - Clifford M. (WPSolving Volunteer)