Alternate of JWS (java web start) in java 11 [duplicate] - java

This question already has answers here:
Openjdk and Java webstart
(2 answers)
Closed 2 years ago.
I'm confused about the status of Java Web Start. On Oracle's Support Roadmap we can read this:
Support of Deployment Technology
The web deployment technology, consisting of the Java Plugin and Web Start technologies, has a shorter support lifecycle. For major releases through Java SE 8, Oracle provides five (5) years of Premier Support for these technologies. Extended Support is not available for the deployment stack, and will not be available for support beyond Java SE 9. See the Oracle Lifetime Support Policy for details.
Deployment Technology for Java SE 6 and Java SE 7 may be removed at any time after Jun 2017. Although the deployment stack may be included in Java SE 9 or later releases, Java SE 8 is the recommended and only supported version of the deployment stack.
Now, we have known for quite some time that applets and the Java Plugin were to be removed in a future version of Java, but I had never read about Java Web Start being a candidate for removal.
In Oracle's Java Platform, Standard Edition Deployment Guide#Getting Started (a Java 9 documentation page), Java Web Start is advertised as an alternative to the deprecated applet technology:
Although available and supported in JDK 9, the Applet API and the Java Plug-in are marked as deprecated in preparation for removal in a future release. Alternatives for applets and embedded JavaFX applications include Java Web Start and self-contained applications.
Am I worrying for nothing or I have missed an announcement about the deprecation of Java Web Start?

So far I only know about https://openwebstart.com/
The project was created exactly to fill the gap.

Related

Deprecated Java EE in JDK 9 and later versions

I want to know why JDK 9 no longer has the Java EE version. I was reading that since the JDK 9 version no longer has Java EE, then Java EE's own functions would appear as deprecated. Do you know how to solve this problem?
I want to know why JDK 9 no longer has the JAVA EE version.
Java EE / J2EE was never part of Java SE releases (JDK / JRE). While the version numbering was similar, this was largely a "marketing thing". Certainly the SE and EE release cycles were not the same.
Anyway, Oracle has passed control of Java EE over to the Eclipse Foundation; see Jakarta EE 8: The new era of Java EE explained
I was reading that java ee's own functions would appear as deprecated.
If someone actually wrote that Java EE is dead or "deprecated", they are incorrect. (Or at least, they are out of date.)
Java EE has now become Jakarta EE, and Jakarta EE has a clear future (see link above)
Even if it didn't have a clear future, that wouldn't amount to deprecation.
Do you know how to solve this problem?
I don't think there is a problem to solve.
The reality is that Oracle had lost interest in Java EE1, and progress under Oracle's stewardship had ground to a virtual halt. Jakarta EE is effectively a reboot.
While predicting the future is difficult, there are reasons to believe that both Java/Jakata EE vendors and Java EE/Jakata users will be better of with the new model. The first test will be the upcoming Jakarta EE 9 release which is scheduled for August / September 2020. (Check the Jakarta EE 9 home page for the latest news on the schedule.)
This Eclipse newsletter from last year gives a taster of what should be in the release:
Jakarta EE 9 - 2019 Outlook
1 - Java EE / Jakarta EE is essentially a set of specifications. Writing and maintaining high quality specifications is expensive. Since Oracle didn't have any significant (money making) Java EE products, Oracle management decided that it was not worth continuing to invest in that aspect of Java. Passing control to an other organization was the responsible thing to do. The renaming was necessary for legal reasons; e.g. protecting Oracle's Java trademark.

Has there different JDKs or JVMs on each Java platforms? [duplicate]

This question already has answers here:
Difference between Java SE/EE/ME?
(14 answers)
Closed 6 years ago.
I am confused about java platforms.From the page Differences between Java EE and Java SE , java has four platforms. Has there any special things between them ? Are they use different JDKs or JREs ?
For clear my question , when I download JDK , I think I can create not only java desktop applications (with swing or javafx) but also web applications.If so ,why java says it has different platforms. If yes , it should has different jdk or jvm for each specific platform. As I think , different platforms mean I need to download different version of JDK. For instance , I need to download JDK for JavaEE platform which contains API for JavaEE.
It depends (like often).
The JDK is a development kit for Java SE including FX. So you can develop desktop applications but also web applications depending on the type of integration you prefer. The Java EE SDK contains also the Glassfish server, examples and tutorials but they are not really needed. The ME is a special minimized versions for embedded device development including special tools for that.
I am developing web application for years with a Java SE JDK only. As I normally use Spring Boot with an embedded container or install a Tomcat on demand, this works perfectly and the Java EE SDK is not needed.

Java EE vs Java SE: version mismatch? [duplicate]

This question already has answers here:
Correlation between Java EE / J2EE to J2SE / JDK versions
(3 answers)
Closed 5 years ago.
I've been wondering if there is a correlation between versions of Java EE working on top of Java SE. I've found this question, but the answers there are outdated and not satisfying. My question is:
is there a tight coupling between EE and SE versions so that java EE 8 will only work with Java 1.8, java ee 7 will work only with java 1.7 and so on?
if above is false (i.e. you can mix versions), is above the preferred way? Does it make sense to run java EE 6 on java SE 1.8 (just an example)?
I know that Java EE is just a bag of specifications, but do these specifications enforce java SE version anyhow?
It's rather about which SE versions EE server can work with. Like here https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Installation_Guide/Java_Environments_Supported_By_JBoss_Enterprise_Application_Platform_61.html
As per oracle document here
Java EE
The Java EE platform is built on top of the Java SE platform. The Java
EE platform provides an API and runtime environment for developing and
running large-scale, multi-tiered, scalable, reliable, and secure
network applications.
So ideally Java SE must be higher or equivalent version when compared to JAVA EE. According to this statement its possible to run java EE 6 on java SE 1.8 and not the other-way round.

What do the Java versions mean in Websphere?

I am going to develop enterprise apps towards a WebSphere 8.5 server. WebSphere 8.5 works with Java EE 6 and Java SE 7.
So what does that mean as far as code development goes? Is Java EE just a set of additional enterprise libraries? Does Java EE 6 mean it uses Java 6 syntax? Can I use Java 7 syntax on an 8.5 server and still utilize the frameworks and webservices provided by Java EE 6?
Java EE is actually a set of specifications of various technologies. Each spec typically has an API (eg: javax.servlet.*, javax.ejb.* etc which is implemented by various vendors (eg: IBM websphere, JBoss, Weblogic etc). The idea is you only learn and write your code once, but you can use your code (with some adjustment) and your knowledge on various vendor implementation.
When you compile your war you typically have to include (for compilation purpose only -- not necessarily packaged) java ee api component of a particular version on your classpath (eg: java-servlet-2.5). The API component often has dependency to particular version of Java SE (eg: if the API / vendor implementation uses generics, it requires Java SE 5 or higher)
Java EE is required to be backward compatible, hence if you compile and package your war against Java EE 6 API, it will run on Java EE 7 container.
You don't necessarily have to use Java SE 7 API to run your code on Java EE 7, you can always compile your war against older version of Java EE API (hence older Java SE). New features will only available if you compile against latest version of the API.
Java EE specifications do target a specific Java SE release. For example, JSR 316 says: Java EE 6 is the Enterprise Edition of version 6 of the Java platform, and thus will be built on Java SE 6. Individual specs may still choose to be compatible with lower versions of Java SE, but never a higher version. Whether a Java EE implementation actually runs on a higher Java SE version that it was specced for depends on the implementation.
by #Arjan Tijms
So what does that mean as far as code development goes?
It means, that you should know Java SE to create apps with the Java EE standard. Java EE is based upon Java SE.
Java SE 7 tutorial
Java EE 6 tutorial
Is Java EE just a set of additional enterprise libraries?
Well, simplifying many things... Yes.
Does Java EE 6 mean it uses Java 6 syntax?
Can I use Java 7 syntax on an 8.5 server and still utilize the frameworks and webservices provided by Java EE 6?
You can use Java SE 7 syntax in Java EE 6 apps. But you can use Java SE 6 syntax too.

Learning Java EE - where to start [duplicate]

This question already has answers here:
Getting Started With Java EE [duplicate]
(3 answers)
Closed 8 years ago.
I'm planning to study Java EE but I do not know where to start.
Based on Java EE version history there are technologies present in lower versions which are not available in the higher version. Do I need to learn J2EE 1.4 before learning Java EE 5 or 6? Or is it better to learn the latest version since their purpose of doing it is to improve the previous version.
Can you also suggest some resources on Java EE?
Unless there is a direct need to work on a legacy system, it is perfectly fine to start with the newest version of the Java EE standard.
For starters I'd recommend free tutorials by Marty Hall, especially Configuring & Using Apache Tomcat to get you up and running.
There is also an official Java EE beginners tutorial, The Java EE 7 Tutorial. It is decently written and contains a lot of examples. By the end of it, you should have a pretty good idea where to go next.
As Saul explained, unless you need to work on a legacy system, there is not a single reason to learn an older version of Java EE.
Every version of Java EE is a fully contained platform and doesn't require learning or knowing anything about the previous versions.
In case of 1.4, it's even better to avoid it at all cost. It contains several technologies (mainly EJB 2), that are the embodiment of bad practices. Looking at those will serve no other purpose than to cloud your mind. If possible, stay away from it.
Java EE 6 is a radical departure from the way applications were build in 1.4, and is the recommended version to start working with.
Oracle Java EE Tutorial is the best for beginner. In Java EE scope. there are many frameworks,such as JSP,JSF,Servlet,Spring,Struts and so on.First you should try to focus which framework is more suitable for you and then try to learn it first.
In my opinion, you need to learn J2EE 1.4 before learning Java EE 5 or 6 is good because sometimes we may face to maintain legacy Java EE systems.
But you have no need to maintain legacy systems then you should learn Java EE 6 first.

Categories