I wanted to install Java 11 on my Windows 32-bit System.
I've searched this Official Java 11 Download Page doesn't contain any download for a 32-bit system.
But still I didn't lose my hope, I saw this site
But when I saw the 2012r2, I think it won't work for my 2009 Windows 7 32-it system, but anyways its a different version than Java Official one.
I even saw this page
It is about Java 9 but even though I don't think the command (which is in the 1st post) doesn't work (I haven't tested it yet).
You won't find an Oracle supported release for Java 11 on 32bit Windows. Oracle stopped distributing 32 bit Java builds for Windows after Java 8.
According to https://bell-sw.com/pages/supported-configurations/ Liberica Java 8, 11 and 17 are available for 32 bit Desktop Windows and supports Window 7 SP1, Windows 8 and Windows 10.
There may be other alternatives too.
However. Windows 7 is nearly 2 years beyond end-of-life. You should have upgraded your system.
Helloš I'm not familiar with Java. I'm trying to run Java Web Start (javaws command) using SDKMAN! to use a Supermicro's legacy IPMI application.
It seems that Oracle Java 8 was able to run javaws but it is removed since Java 9. It also seems that SDKMAN! removed Oracle Java due to Oracle's licensing problem.
So I assume that there is no way to install javaws using SDKMAN! currently and we have to install the old Oracle's Java 8 manually out of SDKMAN!. It this right assumption? Thank you.
JavaWebStart has been developed closed source by Oracle and therefore is only part of the Oracle JDK. Since Oracle stopped JavaWebStart it is even in the Oracle JDK not provided for Java 11+.
In general you have 3 ways you can go:
Use an old Java 8 build from Oracle that does not has fixes for security issues of the last 18 month
Buy support for Java 8 at Oracle and use an actual build of the Oracle JDK version. 8
Install AdoptOpenJDK 8 LTS version on windows and select to use IcedTea-Web in the installer
Use OpenWebstart in combination with any Java 8 or Java 11 JRE / JDK. That can provided by SDKMAN for example
This question already has answers here:
How can I get Java 11 run-time environment working since there is no more JRE 11 for download?
(4 answers)
Closed 4 years ago.
What version of the jre is required for using jdk11?I can't find a jre version later than 8update192.
In general is a JDK version correlated to the Java language version? JDK 8 for Java 8 and JDK 11 for Java 11 ?
If I use JDK 11 can I run applications that use a lesser runtime for example 8? That is JDK 11 with Jre 8
is a JDK version correlated to the Java language version?
Yes. The number of the kit to produce apps on the Java platform, the JDK, is numbered to match the version of Java platform. 8 for 8, 11 for 11, and so on.
If I use JDK 11 can I run applications that use a lesser runtime for example 8? That is JDK 11 with Jre 8
You can use JDK 11 during development for earlier Java if your project is explicitly configured to be compiled and built for the earlier Java only.
Of course that means you cannot use features added in the later Java. But if your project is properly configured, your IDE should prevent such features from being introduced into your codebase.
What version of the jre is required for using jdk11?
There is no more separate JRE distribution. The JRE was a runtime-only environment used to run apps while the JDK was used to develop (and run) apps.
Now we have only JDK releases, as far as I know.
Oracle no longer intends for end-users to be installing a JRE or a JDK. Java Applets in a browser and Java Web Start app delivery are both being phased out, leaving the end-user with no need for a JRE. Java-based apps are expected to bundle their own Java implementation. The only folks consciously installing a JDK will be developers & server-side sysadmins.
Important:
Understand clearly the nature of the OpenJDK project, as explained in Wikipedia.
Know that Oracle has committed to feature-parity between its own branded Oracle JDK and the OpenJDK project. This commitment includes donations of previously-commercial features such as Flight Recorder and Mission Control.
Read this white paper by Oracle of 2018-03, Java Client Roadmap Update
Read the white paper Java Is Still Free, authored by key members of the Java community.
Learn about:
Java Platform Module System
jlink (JEP 282)
jpackage (JEP 343)
Here is a flowchart diagram that may help you finding and deciding amongst the various vendors providing a Java 11 implementation.
Since the public Java 6 SE JRE is getting closer to it's EOL (Nov '12), I'm considering porting my projects from Java 6 to Java 7. This would'nt be a big deal, if Apple would provide a Java 7 JRE for Mac OS X. But since Apple isn't willing to do so, I still have to support users which only have a Java 6 JRE.
Is there a way to compile Java 6 compatible binaries (class files) with the Java 7 javac? Certainly I'm aware that I can't use the new Java 7 features when doing so.
Thanks in anticiption!
It depends. If your program doesn't use the new Java 7 language extensions, then you can run the Java compiler with the -source 1.6 and -target 1.6 options. But if you use Java 7 language extensions then -source 1.6 will result in compilation errors.
Certainly I'm aware that I can't use the new Java 7 features when doing so.
That includes Java 7 language features ... and dependencies on Java 7 changes to the standard class library APIs. Also be aware that there are small number of behavioural differences (aka API bug fixes) that may cause code to run differently on Java 6 and Java 7. They should be described in the Java 6 to Java 7 transition document.
UPDATE - This probably no longer an issue for you anyway, because Oracle have released Java 7 for Mac OSX.
i have jdk6 installed. if you check the man page of javac:
Cross-Compilation Options
By default, classes are compiled against the bootstrap and extension classes of the platform that javac shipped with. But javac also supports cross-compilā
ing, where classes are compiled against a bootstrap and extension classes of a different Java platform implementation. It is important to use -bootclasspath
and -extdirs when cross-compiling; see Cross-Compilation Example below.
-target version
Generate class files that target a specified version of the VM. Class files will run on the specified target and on later versions, but not on earlier
versions of the VM. Valid targets are 1.1 1.2 1.3 1.4 1.5 (also 5) and 1.6 (also 6).
Yes, but in some cases no. In java 1.6 they didn't have the try with resources, switch with strings, or multi catch statements etc. So those parts of the program will not compile. But the idea of java is compile once, run everywhere; so code can work on old JVMs
Stephen C's answer is correct, but not complete. Your Java 7 programs won't compile in Java 6 if they use Java 7 language features, but be warned subtle other bugs can still occur with one developer coding in Java 6 and another compiling Java 7.
Take for example java.sql.Driver. In Java 7, the interface gained an additional method.
Java 7 Developer
This developer implements the Driver interface and uses the 'Override' annotation on the implemented additional Driver method. The program compiles fine as a Java 6 program because the class that the Java 6 compiler sees does have that method and the code gets checked in. Compiling the program as Java 6 does not mean that Java 6 compiler will automatically switch to use Java 6 source code!
Java 6 Developer
The Java 6 developer attempts to build the code the Java 7 developer committed and gets a compilation error even though the Java 7 developer was not implementing any Java 7 language constructs.
Consequently, even though you could compile it as Java 6, I would recommend not doing this.
I see many different Java terms floating around. I need to install the JDK 1.6. It was my understanding that Java 6 == Java 1.6. However, when I install Java SE 6, I get a JVM that reports as version 11.0! Who can solve the madness?
JDK - Java Development Kit
JRE - Java Runtime Environment
Java SE - Java Standard Edition
SE defines a set of capabilities and functionalities; there are more complex editions (Enterprise Edition ā EE) and simpler ones (Micro Edition ā ME ā for mobile environments).
The JDK includes the compiler and other tools needed to develop Java applications; JRE does not. So, to run a Java application someone else provides, you need JRE; to develop a Java application, you need JDK.
Edited:
As Chris Marasti-Georg pointed out in a comment, you can find out lots of information at Sun's Java web site, and in particular from the Java SE section, (2nd option, Java SE Development Kit (JDK) 6 Update 10).
Edited 2011-04-06:
The world turns, and Java is now managed by Oracle, which bought Sun. Later this year, the sun.com domain is supposed to go dark. The new page (based on a redirect) is this Java page at the Oracle Tech Network. (See also java.com.)
Edited 2013-01-11: And the world keeps on turning (2012-12-21 notwithstanding), and lo and behold, JRE 6 is about to reach its end of support. Oracle says no more public updates to Java 6 after February 2013.
Within a given version of Java, this answer remains valid. JDK is the Java Development Kit, JRE is the Java Runtime Environment, Java SE is the standard edition, and so on. But the version 6 (1.6) is becoming antiquated.
Edited 2015-04-29: And with another couple of revolutions around the sun, the time has come for the end of support for Java SE 7, too. In April 2015, Oracle affirmed that it was no longer providing public updates to Java SE 7. The tentative end of public updates for Java SE 8 is March 2017, but that end date is subject to change (later, not earlier).
This might help someone:
I am installing the latest Java on my system for development, and currently it's Java SE 7. Now, let's dive into this "madness", as you put it...
All of these are the same (when developers are talking about Java for development):
Java SE 7
Java SE v1.7.0
Java SE Development Kit 7
Starting with Java v1.5:
v5 = v1.5.
v6 = v1.6.
v7 = v1.7.
And we can assume this will remain for future versions.
Next, for developers, download JDK, not JRE.
JDK will contain JRE. If you need JDK and JRE, get JDK. Both will be installed from the single JDK install, as you will see below.
As someone above mentioned:
JDK = Java Development Kit (developers need this, this is you if you code in Java)
JRE = Java Runtime Environment (users need this, this is every computer user today)
Java SE = Java Standard Edition
Here's the step by step links I followed (one step leads to the next, this is all for a single download) to download Java for development (JDK):
Visit "Java SE Downloads": http://www.oracle.com/technetwork/java/javase/downloads/index.html
Click "JDK Download" and visit "Java SE Development Kit 7 Downloads": http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (note that following the link from step #1 will take you to a different link as JDK 1.7 updates, later versions, are now out)
Accept agreement :)
Click "Java SE Development Kit 7 (Windows x64)": http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (for my 64-bit Windows 7 system)
You are now downloading (hopefully the latest) JDK for your system! :)
Keep in mind the above links are for reference purposes only, to show you the step by step method of what it takes to download the JDK.
And install with default settings to:
āC:\Program Files\Java\jdk1.7.0\ā (JDK)
āC:\Program Files\Java\jre7\ā (JRE) <--- why did it ask a new install folder? it's JRE!
Remember from above that JDK contains JRE, which makes sense if you know what they both are. Again, see above.
After your install, double check āC:\Program Files\Javaā to see both these folders. Now you know what they are and why they are there.
When you type "java -version", you see three version numbers - the java version (on mine, that's "1.6.0_07"), the Java SE Runtime Environment version ("build 1.6.0_07-b06"), and the HotSpot version (on mine, that's "build 10.0-b23, mixed mode"). I suspect the "11.0" you are seeing is the HotSpot version.
Update: HotSpot is (or used to be, now they seem to use it to mean the whole VM) the just-in-time compiler that is built in to the Java Virtual Machine. God only knows why Sun gives it a separate version number.
A Brief and Maybe Incorrect History of Java Versions
Java is a platform. It consists of two products - the software development kit, and the runtime environment.
When Java was first released, it was apparently just called Java. If you were a developer, you also knew the version, which was a normal "1.0" and later a "1.1". The two products that were part of the platform were also given names:
JDK - "Java Development Kit"
JRE - "Java Runtime Environment"
Apparently the changes in version 1.2 so significant that they started calling the platform as Java 2.
The default "distribution" of the platform was given the moniker "standard" to contrast it with its siblings. So you had three platforms:
"Java 2 Standard Edition (J2SE)"
"Java 2 Enterprise Edition (J2EE)"
"Java 2 Mobile Edition (J2ME)"
The JDK was officially renamed to "Java 2 Software Development Kit".
When version 1.5 came out, the suits decided that they needed to "rebrand" the product. So the Java platform got two versions - the product version "5" and the developer version "1.5" (Yes, the rule is explicitly mentioned -- "drop the '1.'). However, the "2" was retained in the name. So now the platform is officially called "Java 2 Platform Standard Edition 5.0 (J2SE 5.0)".
The suits also realized that the development community was not picking up their renaming of the JDK. But instead of reverting their change, they just decide to drop the "2" from the name of the individual products, which now get be "J2SE Development Kit 5.0 (JDK 5.0)" and "J2SE Runtime Environment 5.0 (JRE 5.0)".
When version 1.6 come out, someone realized that having two numbers in the name was weird. So they decide to completely drop the 2 (and the ".0" suffix), and we end up with the "Java Platform, Standard Edition 6 (Java SE 6)" containing the "Java SE Development Kit 6 (JDK 6)" and the "Java SE Runtime Environment 6 (JRE 6)".
Version 1.7 did not do anything stupid. If I had to guess, the next big change would be dropping the "SE", so that the cycle completes and the JDK again gets to be called the "Java Development Kit".
Notes
For simplicity, a bunch of trademark signs were omitted. So assume Javaā¢, JDKā¢ and JREā¢.
SO seems to have trouble rendering nested lists.
References
http://www.oracle.com/technetwork/java/javase/namechange-140185.html
Epilogue
Just drop the "1." from versions printed by javac -version and java -version and you're good to go.
With the release of Java 5, the product version was made distinct from the developer version as described here
Version 1.5.0 or 5.0?
Both version numbers "1.5.0" and "5.0" are used to identify this release of the Java 2 Platform Standard Edition. Version "5.0" is the product version, while "1.5.0" is the developer version. The number "5.0" is used to better reflect the level of maturity, stability, scalability and security of the J2SE.
"Version 5.0" Used in Platform and Product Names
Version 5.0 is used in the platform and product names as given in this table:
Full Name
Abbreviation
Platform name
Javaā¢ 2 Platform Standard Edition 5.0
J2SEā¢ 5.0
Products delivered under the platform
J2SEā¢ Development Kit 5.0
JDKā¢ 5.0
J2SEā¢ Runtime Environment 5.0
JRE 5.0
"Version 1.5.0" Used by Developers
J2SE also keeps the version number 1.5.0 (or 1.5) in some places that are visible only to developers, or where the version number is parsed by programs. As mentioned, 1.5.0 refers to exactly the same platform and products numbered 5.0. Version numbers 1.5.0 and 1.5 are used at:
java -version (among other info, returns java version "1.5.0")
java -fullversion (returns java full version "1.5.0-b64")
javac -source 1.5 (javac -source 5 also works)
java.version system property
java.vm.version system property
#since 1.5 tag values
jdk1.5.0 installation directory
jre1.5.0 installation directory
http://java.sun.com/j2se/1.5.0 website (http://java.sun.com/j2se/5.0
also works)
Java SE Runtime is for end user, so you need Java JRE version, the first version of Java was the 1, then 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 etc and usually each version is named by version so JRE 6 means Java jre 1.6, anyway there is the update version, for example 1.6 update 45, which is named java jre 6u45.
From what I know, they preferred to use the number 6 instead using 1.6 to better reflect the level of maturity, stability, scalability, security and more