javaws missing in Java 8 for Solaris - java

It looks like Oracle removed Java Web Start from Java 8 for Solaris. javaws isn't available anymore in Java 8u51.
From the compatibility guide:
The 64-bit binaries do not contain deployment tools such as Java Web
Start and Java Plug-in, therefore desktop integration is no longer
required.
What do they mean with "required"? It's not possible anymore. It's not possible to launch a Web Start application on Solaris with Java 8.
Does anyone know an alternate way (standard, no 3rd party stuff) to start a Web Start application on Solaris with Java 8?

The "required" means that, as the build for the java 8 for solaris is only available in 64bit version; therefore, the Java Plug-in and Java Web Start is no longer required to be installed as those two things are not available for 64-bit version of Solaris (you can check the link here https://www.java.com/en/download/help/webstart_64bits.xml).
I'm afraid I cannot found any way to run Java Web Start in "standard" way on Java 8. The easiest workaround for this is, of course, to install the older version of 32-bit java such as version 7.

Related

Run cp command by specifying java version

I have JDK 1.8 installed in my Linux server.
I want to deploy my Spring boot application that runs on JDK 11 to Linux server.
I cannot upgrade JDK version of my Linux server since there are other application running on the same Linux server and i don't want to disturb them.
For this reason i have Zipped JDK 11, copied it to Linux Server in a folder specific to my application(same place where my spring boot application jar resides) and un-zipped it.
I tried to start my application with the following command but it still runs JDK 1.8 by default and throws exception
java -cp test-api-0.0.1-SNAPSHOT.jar com.test.api.TestAPIApplication
How can i modify the above Linux command to make my application run on JDK 11
I cannot modify java path since it will affect other applications on same Linux server.
Sorry, but you can't:
You can't tweak the Java version via the -cp option.
You can't run a Java version that is not installed.
If you want to run a SpringBoot application that has dependencies on Java 11 (or later) features or APIs, then you must install Java 11 (or later).
The Java 11 libraries are compiled with to Java 11 classfile format. A Java 8 JVM won't understand them. Furthermore, the libraries (most likely) depend on native code methods (and other things) that are only available in a Java 11 (or later) java executable. This means that your idea of not installing Java 11 is technically infeasible.
But what you can do is install Java 11 alongside Java 8 on your server, and then select the version of Java you use either by using an absolute pathname for the java command or setting the PATH environment variable appropriately.
(On a typical Linux system, the package names for Java 8 and Java 11 are different. So there should be no difficulty installing either versions, or having both versions installed at the same time. Likewise, the Oracle Java installers install into different Java versions into different directories.)
(Likewise, environment variable settings are NOT shared in Linux. So you can set them differently for different applications. If you make the PATH or JAVA_HOME or whatever changes in the appropriate places, your new Java 11 application won't interfere with existing Java 8 apps. It is just "basic shell stuff".)

Is it impossible to run Java Web Start application using "SDKMAN!"

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

how publish java webapp on vps server, i tried by it doesn't work

I want deploy java webapp on vps server with ubuntu. I installed jdk, jre and tomcat, but when i try to see tomcat standard welcome page it returns error: org.apache.jasper.JasperException: Unable to compile class for JSP. Here is the link to my server: http://something.nazwa.pl:8080.
How can i repair this error and how properly prepare vps to java application?
I had never been using Linux,so it is difficult to me.
Ok. Try to set the JDK 8 of oracle or OpenJDK 8. Becasue from the Site of Apache Tomcat
Building Apache Tomcat requires a JDK (version 8) to be installed. You
can download one from
And you jave OpenJDK 9
And remember
IMPORTANT: Set an environment variable JAVA_HOME to the pathname of
the directory into which you installed the JDK release.
--- Edit ---
Ok going more deeper I found that tomcat 9 can run in Open JDK 9, but it might contains bugs
For example, users were successfully running Tomcat 8 on Java 8 many
months before the first stable Java 8 release. However, users of early
access builds should be aware of the following:
It is not unusual for the initial early access builds to contain bugs
that can cause problems for web applications running on Tomcat. If the
new Java version introduces new language features then the default JSP
compiler may not support them immediately. Switching the JSP compiler
to javac may enable these new language features to be used in JSPs. If
you do discover an problem using a Java early access build, please ask
for help. The Tomcat user's mailing list is probably the best place to
start.
From Apache Tomcat.
Conclusion
Try to go with JDK 8 of oracle and set your enviorement variable

Is there any way to run a Windows-based Eclipse with a Linux-based Java SDK?

I want to test my code against the (beta) IBM Java SDK 8.0, which will be a part of IBM Java products in future and support Java SE 8. The beta version is available for download from here, but it's only available for Linux on x86 (/ x86_64), and not Windows. But my development environment is Windows. Of course, I could run the Java SDK through Cygwin or equivalent, so it's possible to execute the binaries, but is there any easy way to trigger them from an Eclipse instance running on Windows?
I don't think you can do this. I would be surprised if it worked under Cygwin too.
The usual strategy for this type of problem is to create a Linux VM and test using that. There are free VM solutions around such as VirtualBox.

Call Java Webstart 1.6 out of java 1.7 application

I have a bunch of webstart applications, which are programmed and tested under Java 1.6.0_11. For being sure that these applications run as intended, I start them using the javaws.exe of an installed JRE with version 1.6.0_11. This version is only used for starting these applications. The "standard" Java used on my System is always the newest version, in order to get all security updates (etc.).
With version 1.7.0_25 I am not able to call the javaws.exe from my 1.6.0_11 installation anymore. My applications simply do not start. It seems that the 1.7.0_25 webstart does not allow run applications which require an older version. So my problem is: How can I start my applications with the 1.6.0_11 java webstart?
My approach was to build a launcher application, which checks the required java version and calls the appropiate webstart via Runtime.exec(). But can I be sure that the called javaws.exe does not use any variables or resources of the installed 1.7.0_25 JRE? It is crucial to me to guarantee the flawless execution of these applications.

Categories