OS:
Ubuntu 12.04 Desktop
Java installed:
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
Running sudo ./gwan gives following error:-
Please install OpenJDK or SUN Java
.
'report.java': to use Java (*.java) scripts, install 'javac' (sudo apt-get install javac).
'loan.java': to use Java (*.java) scripts, install 'javac' (sudo apt-get install javac).
'argv.java': to use Java (*.java) scripts, install 'javac' (sudo apt-get install javac)..
'hello.mm': to use Objective-C++ (*.mm) scripts, install 'gobjc++' (sudo apt-get install gobjc++)
'all.java': to use Java (*.java) scripts, install 'javac' (sudo apt-get install javac)
Javac, Java both in sys path, both available in terminal
I have not touched any configuration files just went through
http://gwan.com/download
then
tried heading over to
localhost:8080/?hello.java
note: all C files work.
Have not tried openJDK though I would like to stay away from this option.
Try to use the JAVA_HOME environment variable to tell which JVM should be used. The G-WAN site has a dedicated Java FAQs entry for that question.
Reporting the same kind of problems in the past I have been told that the next release will be more JVM-agnostic.
Related
I have installed Ubuntu 20.4 LTS on WSL. My windows 10 already have the JDK installed. Do I need to install JDK on ubuntu on WSL or can I use the Windows 10 JDK in the Ubuntu? How you do Java programming on WSL? Which is the proper way?
I was just wondering if I need to install all the development tools and binaries again on Linux won't it take a lot of space & hog a lot of CPU/Ram resources?
Run the following commands as a user with sudo privileges or root to update the packages index and install the OpenJDK 11 JDK package:
$ sudo apt update
$ sudo apt install openjdk-11-jdk
Once the installation is complete, you can verify it by checking the Java version:
$ java -version
The output should look something like this:
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Set JAVA_HOME Environment Variable:
OpenJDK 11 is located at /usr/lib/jvm/java-11-openjdk-amd64/bin/java
Once you found the path of your preferred Java installation, open the /etc/environment file:
$ sudo nano /etc/environment
Assuming you want to set JAVA_HOME to point to OpenJDK 11, add the following line, at the end of the file:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
For changes to take effect on your current shell you can either log out and log in or run the following source command:
$ source /etc/environment
Verify that the JAVA_HOME environment variable was correctly set:
$ echo $JAVA_HOME
You should see the path to the Java installation:
/usr/lib/jvm/java-11-openjdk-amd64
for reference you can follow this link below
How to Install Java on Ubuntu 20.04
We can use that Windows JDK inside the wsl2. we should add this to /etc/environment
JAVA_HOME=/mnt/c/Program Files/Java/jdk-11.0.8/bin/
by adding this bin folder we may run regular commands but append with .exe format eg: javac.exe hello.java java.exe hello.java
if you don't like that way then add alias like below:
alias java='java.exe'
alias javac='javac.exe'
I think we can use any of the windows programs like this :)
There is not a "proper" (as in supported or recommended by JDK providers) way to install or use Java on WSL. I could not find any official recommendations.
However, it is possible to either install and use Oracle JDK for Windows installation from WSL, or install OpenJDK Java into your WSL world from the Ubuntu package manager.
I was just wondering if I need to install all the development tools and binaries again on Linux won't it take a lot of space & hog a lot of CPU/Ram resources ?
See above. But note that you are only going to "hog CPU/RAM" if you are running both kinds of JVM at the same time.
References:
Installing Oracle JDK on Windows subsystem for Linux
Java JDK 11 install script for Windows Subsystem for Linux (WSL)
Windows Subsystem for Linux Java Setup ... using the Ubuntu package system.
(There are many more articles on this topic if the above don't address your concerns.)
I installed Java via IntelliJ IDEA on Windows 11 and wanted to reuse the installation on WSL.
Create matching functions in ~/.bashrc to start the executables directly and export them so they can be used from subshells:
java() {
/mnt/c/Program\ Files/Eclipse\ Adoptium/jdk-<version>/bin/java.exe "$#"
}
export -f java
javac() {
/mnt/c/Program\ Files/Eclipse\ Adoptium/jdk-<version>/bin/javac.exe "$#"
}
export -f javac
I am working with a Python library in AWS Ubuntu linux that requires Java and apparently a Java plugin: Java Advanced Imaging (JAI) Image I/O Tools:
I installed Java 1.11 and the jdk using:
sudo apt install default-jre
sudo apt install openjdk-11-jdk-headless
and it appears successful:
java -version
produces:
openjdk version "11.0.7" 2020-04-14.1
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04,mixed mode,sharing)
and
javac -version
produces:
java 11.0.7
I then set in the .bashrc the following:
#For Java
export JAVA_HOME=/usr
export PATH=$JAVA_HOME/bin:$PATH
and ran:
source ~/.bashrc
so if I run:
echo $JAVA_HOME
I get:
/usr
Now I am trying to install the advanced imaging tools package sitting in my root folder: jai-1_1_2_01-lib-linux-i586-jre.bin using:
$JAVA_HOME
"bash: /usr: Is a directory"
chmod u+x jai-1_1_2_01-lib-linux-i586-jre.bin
$jai-1_1_2_01-lib-linux-i586-jre.bin
Note the '$' appending the first and fourth line and that the second line is output. I am unable to execute the 4th line at all (autocomplete doesn't work and says command not found).
I couldn't figure out a way to set the $JRE variable, but I am not sure if this is even the correct way to install the Java plugin so I can use it with Python.
I know this is basic stuff, but I just can't put it all together.
I need OpenJDK's build that provides symbols for debugging in RedHat Linux Server 8.2. I had installed OpenJDK 1.8.0 252-* (latest) with:
yum install java-1.8.0-openjdk-devel
However, afterward I realize that I need a package that has been built with debugging enabled and also I was interested in a very specific version (242-*), so I downloaded it directly from RedHat Acces site (this link).
After installing it with rpm (rpm -ivh java-1.8.0.....), and chmoding everything to 774, when I navigate to java directories, I don't seem to be able to execute java (or in this case java.debug):
[root#localhost lib]# /usr/lib/debug/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b07-1.el6_10.x86_64-debug/bin/javac.debug -version
-bash: /usr/lib/debug/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b07-1.el6_10.x86_64-debug/bin/javac.debug: No such file or directory
[root#localhost lib]# /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/bin/java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
Am I missing something?
java-1.8.0-openjdk-debuginfo is a complementary package that provides debug symbols for OpenJDK binaries. This package is not self-sufficient; it does not contain executable binaries.
In order to use OpenJDK with debug symbols, you need to install both java-1.8.0-openjdk and the corresponding java-1.8.0-openjdk-debuginfo package of the same version.
I have installed java with the command sudo apt-get install openjdk-7-jdk and set the java home and path.But when I am trying to use ant I
JAVA_HOME is not defined correctly.
We cannot execute /usr/local/java/jre1.7.0_60/bin/java
Please help me how to resolve this error.
which java ----> /usr/bin/java
java -version ---->java version "1.6.0_31"
OpenJDK Runtime Environment (IcedTea6 1.13.3) (6b31-1.13.3-1ubuntu1~0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
echo $JAVA_HOME -----> /usr/local/java/jre1.7.0_60
I had same problem than you. Try using Oracle jdk instead openjdk
To change OpenJdk by Oracle JDK you can do (you have to download oracle jdk first):
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.6.0_37/bin/java" 1
Here you have a detailed explanation:
http://hendrelouw73.wordpress.com/2012/11/09/how-to-install-oracle-java-6-0-37-on-ubuntu-12-04-linux/
You can set your environment by doing:
vi /etc/environment
in my case I did:
PATH="/usr/lib/jvm/java-6-sun/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-6-sun/"
and it solved my problem
Ant requires JDK and you have installed JRE. So ant is throwing such an error.
So, just Uninstall JRE and then install JDK, this will solve your error.
I apologize in advance for the long query that'll follow, but I'm very lost and wanted to include all pertinent information.
Here is the system I started with:
Linux Mint 14 Nadia MATE
64-bit Kernel
OpenJDK version 1.7.0_21
I wanted to install Oracle Java 7 and have that be my system default.
Here is what I tried:
1) Downloaded tar file of JDK1.7.0_21
2) Unpacked and moved it into /usr/lib/jvm/jdk1.7.0_21
3) cd /usr/lib/jvm
4) ln -s jdk1.7.0_21 java-7-oracle
5) Created file /usr/lib/jvm/.java-7-oracle.jinfo and proceed to populate it with info such as:
alias=java-7-oracle
priority=50
section=non-free
jre ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel
jre java /usr/lib/jvm/java-7-oracle/jre/bin/java
jre java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm
jre javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws
....
6) Then, for some perhaps ill-thoughtout reasons, I abandoned this approach in favor of a shorter one that I felt I better understood. So I...
7) Deleted the symlink I had created rm java-7-oracle hoping that it would only remove the symlink.
8) Proceeded to execute the following commands:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.*/bin/java 1065
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.*/bin/javac 1065
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.*/bin/javaws 1065
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.*/bin/jar 1065
9) sudo update-alternatives --config java
And I picked this option:
/usr/lib/jvm/jdk1.7.0_21/bin/java 1065 manual mode
Afterwards, when I ran java -version I got errors saying Java Virtual Machine could not be started.
Then, I went in and messed around a bit more, changed the priorities to 1, etc..
I even made the following changes to my /etc/profile:
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_17
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH
And loaded it: . /etc/profile
But I still can't get java to work.
The difference, though is that now when I run java -version I get:
bash: /usr/bin/java: No such file or directory
I've also tried specifying the absolute path: /usr/lib/jvm/jdk1.7.0_21/bin/java -version
But to no avail.
Can someone please help me? I feel quite lost at this point.
And I can't seem to revert back to OpenJDK either.
Thanks!
The problem, it turns out was that I was using a 32-bit version of Java with my 64-bit system.
So I removed /usr/lib/jvm/jdk1.7.0_21
Then I went to Oracle and downloaded Java for Linux x64.
(I'd initially been mislead by their ambiguous "Java for Linux x86" labeling because my system was x86-64. Apparently their x86 refers to 32-bit systems.)
After downloading the correct 64-bit version, I followed the instructions from this site:
http://install-climber.blogspot.com/2013/02/linux-mint-14-nadia-mate-amd64-howto-install-oracle-java-jdk7.html
1. Check to see if your Ubuntu Linux operating system architecture is 32-bit or 64-bit, open up a terminal and run the following command below.
Type/Copy/Paste: file /sbin/init
Note the bit version of your Ubuntu Linux operating system architecture it will display whether it is 32-bit or 64-bit.
2. Check if you have Java installed on your system. To do this, you will have to run the Java version command from terminal.
Open up a terminal and enter the following command:
Type/Copy/Paste: java -version
If you have OpenJDK installed on your system it may look like this:
java version "1.7.0_15"
OpenJDK Runtime Environment (IcedTea6 1.10pre) (7b15~pre1-0lucid1)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
If you have OpenJDK installed on your system, you have the wrong vendor version of Java installed for this exercise.
3. Completely remove the OpenJDK/JRE from your system and create a directory to hold your Oracle Java JDK/JRE binaries. This will prevent system conflicts and confusion between different vendor versions of Java. For example, if you have the OpenJDK/JRE installed on your system, you can remove it by typing the following at the command line:
Type/Copy/Paste:
sudo apt-get purge openjdk-\*
This command will completely remove OpenJDK/JRE from your system
Type/Copy/Paste:
sudo mkdir -p /usr/local/java
This command will create a directory to hold your Oracle Java JDK and JRE binaries.
4. Download the Oracle Java JDK for Linux. Make sure you select the correctcompressed binaries for your system architecture 32-bit or 64-bit (which end in tar.gz).
For example, if you are on Ubuntu Linux 32-bit operating system download 32-bit Oracle Java binaries.
For example, if you are on Ubuntu Linux 64-bit operating system download 64-bit Oracle Java binaries.
Optional, Download the Oracle Java JDK Documentation
Select jdk-7u45-apidocs.zip
Important Information: 64-bit Oracle Java binaries do not work on 32-bit Ubuntu Linux operating systems, you will receive multiple system error messages, if you attempt to install 64-bit Oracle Java on 32-bit Ubuntu Linux.
5. Copy the Oracle Java binaries into the /usr/local/java directory. In most cases, the Oracle Java binaries are downloaded to: /home/"your_user_name"/Downloads.
32-bit Oracle Java on 32-bit Ubuntu Linux installation instructions:
Type/Copy/Paste:
cd /home/"your_user_name"/Downloads
Type/Copy/Paste:
sudo cp -r jdk-7u45-linux-i586.tar.gz /usr/local/java
Type/Copy/Paste:
cd /usr/local/java
64-bit Oracle Java on 64-bit Ubuntu Linux installation instructions:
Type/Copy/Paste:
cd /home/"your_user_name"/Downloads
Type/Copy/Paste:
sudo cp -r jdk-7u45-linux-x64.tar.gz /usr/local/java
Type/Copy/Paste:
cd /usr/local/java
6. Run the following commands on the downloaded Oracle Java tar.gz files. Make sure to do this as root in order to make them executable for all users on your system.
To open a root terminal type
sudo -s you will be prompted for your logon password.
32-bit Oracle Java on 32-bit Ubuntu Linux installation instructions:
Type/Copy/Paste:
sudo chmod a+x jdk-7u25-linux-i586.tar.gz
64-bit Oracle Java on 64-bit Ubuntu Linux installation instructions:
Type/Copy/Paste:
sudo chmod a+x jdk-7u45-linux-x64.tar.gz
7. Unpack the compressed Java binaries, in the directory /usr/local/java
32-bit Oracle Java on 32-bit Ubuntu Linux installation instructions:
Type/Copy/Paste:
sudo tar xvzf jdk-7u25-linux-i586.tar.gz
64-bit Oracle Java on 64-bit Ubuntu Linux installation instructions:
Type/Copy/Paste:
sudo tar xvzf jdk-7u45-linux-x64.tar.gz
8. Double-check your directories. At this point, you should have two uncompressed binary directories in /usr/local/java for the Java JDK/JRE listed as:
Type/Copy/Paste: ls -a
jdk1.7.0_45
9. Edit the system PATH file /etc/profile and add the following system variables to your system path. Use nano, gedit or any other text editor, as root, open up /etc/profile.
Type/Copy/Paste:
sudo gedit /etc/profile
or
Type/Copy/Paste:
sudo nano /etc/profile
10. Scroll down to the end of the file using your arrow keys and add the following lines below to the end of your /etc/profile file:
Type/Copy/Paste:
JAVA_HOME=/usr/local/java/jdk1.7.0_45
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
11. Save the /etc/profile file and exit.
12. Inform your Ubuntu Linux system where your Oracle Java JDK/JRE is located. This will tell the system that the new Oracle Java version is available for use.
Type/Copy/Paste:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.7.0_45/bin/java" 1
this command notifies the system that Oracle Java JRE is available for use
Type/Copy/Paste:
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.7.0_45/bin/javac" 1
this command notifies the system that Oracle Java JDK is available for use
Type/Copy/Paste:
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.7.0_45/bin/javaws" 1
this command notifies the system that Oracle Java Web start is available for use
13. Inform your Ubuntu Linux system that Oracle Java JDK/JRE must be the default Java.
Type/Copy/Paste:
sudo update-alternatives --set java /usr/local/java/jdk1.7.0_45/bin/java
this command will set the java runtime environment for the system
Type/Copy/Paste:
sudo update-alternatives --set javac /usr/local/java/jdk1.7.0_45/bin/javac
this command will set the javac compiler for the system
Type/Copy/Paste:
sudo update-alternatives --set javaws /usr/local/java/jdk1.7.0_45/bin/javaws
this command will set Java Web start for the system
14. Reload your system wide PATH /etc/profile by typing the following command:
Type/Copy/Paste:
. /etc/profile
Note your system-wide PATH /etc/profile file will reload after reboot of your Ubuntu Linux system
15. Test to see if Oracle Java was installed correctly on your system. Run the following commands and note the version of Java:
16. A successful installation of 32-bit Oracle Java will display:
Type/Copy/Paste:
java -version
This command displays the version of java running on your system
You should receive a message which displays:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_25-b25)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)
Type/Copy/Paste:
javac -version
This command lets you know that you are now able to compile Java programs from the terminal.
You should receive a message which displays:
javac 1.7.0_25
**17. A successful installation of Oracle Java 64-bit will display:
Type/Copy/Paste:
java -version
This command displays the version of java running on your system
You should receive a message which displays:
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_21-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
Type/Copy/Paste:
javac -version
This command lets you know that you are now able to compile Java programs from the terminal.
You should receive a message which displays:
javac 1.7.0_25
[https://www.wikihow.com/Install-Oracle-Java-JDK-on-Ubuntu-Linux][1]