Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
Hello I'm creating java web application with eclipse and glassfish since 6 years ago. After this years was updating the IDE and Server wasn't the harmful like today. With Jakarta (namespace) , now I lose my IDE and Server. It's great move about Jakarta but I'm wondering why eclipse foundation and Jakarta (that supported by eclipse) not integrated and I can't start fresh new Eclipse(Last Version) and Glassfish 6 without getting error! If someone can do it please share with me , maybe I'm too new! All I want is Download the eclipse , download Glassfish 6 and start programming so if that have configuration, I don't understand about it, please share it with me.
Other my question about eclipse and Glassfish 6
I'm wondering why eclipse foundation and Jakarta (that supported by eclipse) not integrated and I can't start fresh new Eclipse(Last Version) and Glassfish 6 without getting error!
Well ... the short answer is because of Oracle's legal department, and their past history of legal aggression.
As the Wikipedia page for Jakarta EE states:
"Java EE was maintained by Oracle under the Java Community Process. On September 12, 2017, Oracle Corporation announced that it would submit Java EE to the Eclipse Foundation. The Eclipse top-level project has been named Eclipse Enterprise for Java (EE4J). The Eclipse Foundation was forced to change the name because Oracle owns the trademark for the name "Java" and renamed the Java EE platform to Jakarta EE."
Given Oracle's tendency to aggressively defend Java trademarks, copyrights and so on, the Jakarta EE specification committee decided that the wisest (and most future proof) course of action was to do a Big Bang rename of all of the packages in Jakarta EE from javax.* to jakarta.*.
Unfortunately, this has an impact on people transitioning from (legacy) Java EE to Jakarta EE 9 and later.
It has also resulted in a stack of extra work for the folks who maintain the Eclipse IDE. Work takes time, especially when some of the work is done by volunteers.
References
https://blog.hargrave.io/2019/05/jakarta-ee-and-package-renaming.html
https://www.eclipse.org/lists/jakartaee-platform-dev/msg00029.html
All I want is download the Eclipse, download Glassfish 6 and start programming so if that have configuration, I don't understand about it, please share it with me.
On the Eclipse Foundation's Glassfish Downloads page there are resources on converting from Java EE to Jakarta EE. Including a video.
Related
I have a Java application which shows Apache Tomcat Embed as 9.0.35 version. I need to update this to 10.0.4. I'm very new to Java and have very minimal knowledge on it. This upgrade is needed to resolve some vulnerabilities with in the application.
How can I do this from IntelliJ IDE?
Tomcat 9 & 10 are equivalent products
Apache Tomcat 9 and 10 are equivalent products. The only difference is support for changes for the package names in the Jakarta Servlet and related technologies from javax.* to jakarta.*.
This package name change is for legal reasons involved in the transfer of responsibility for Jakarta EE (formerly Java EE) technologies from Oracle Corp to the Eclipse Foundation.
For more info, read Understanding Jakarta EE 9.
To quote the documentation:
Users of Tomcat 10 onwards should be aware that, as a result of the move from Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse Foundation, the primary package for all implemented APIs has changed from javax.* to jakarta.*. This will almost certainly require code changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later. A migration tool is under development to aid this process.
Move to the latest 9 rather than 10
Tomcat 9 and 10 track the same development changes. If your goal is simply to gain some security fixes, as far as I know you'll get the same fixes in both 9 and 10. Do not take my word for this, just study the Tomcat Release Notes.
So for the fastest easiest migration path, just upgrade to the latest 9 instead of 10. The current latest version of 9 is 9.0.44.
Stick with Tomcat 10
Alternatively, if you want to proceed with using Tomcat 10, change the import statements across your code base to use jakarta.* in place of javax.*.
IDEs such as IntelliJ have added features to assist in this migration chore.
And you’ll need to update any third-party libraries using javax.* to new versions using jakarta.*.
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.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have done some research on JavaFX over the last year, and even built some basic desktop apps with it.
It's described as being used to create RIAs (Rich Internet Application).
http://en.wikipedia.org/wiki/Javafx
But can it really be deployed by a web browser? I have only deployed it via an executable JAR file.
How easy is it to deploy via web browser? Does it work? Does anyone have experience with this?
http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm
Update for the March 2018 Java Client Roadmap
I encourage readers interested in this question to review the following Oracle Whitepaper:
Java Client Roadmap Update
The above paper outlines the official Oracle position on related technologies (JavaFX/Swing/AWT/Applets/WebStart), the dates until which it intends to support those technologies and which of those technologies it intends to transition to open source development projects separate from the JDK and JRE.
Update for Java 9, Oct 2017
According to the Java 9 release notes:
Java Applet and WebStart functionality, including the Applet API, The Java plug-in, the Java Applet Viewer, JNLP and Java Web Start including the javaws tool are all deprecated in JDK 9 and will be removed in a future release.
So, for Java 9+, deployment of JavaFX in a browser using a Java plug-in will only be possible using deprecated technology. Oracle notes in another part of the Java 9 release notes:
Deprecates the Java Plug-in and associated applet technologies in Oracle's JDK 9 builds. While still available in JDK 9, these technologies will be considered for removal from the Oracle JDK and JRE in a future release. Applets and JavaFX applications embedded in a web page require the Java Plug-in to run. Consider rewriting these types of applications as Java Web Start or self-contained applications.
Note: Java Web Start isn't really an alternative as that is also deprecated (anyway, it's different from an application embedded and rendered within a browser page). Also note for those who wish to use Web Start, even though it has now been removed from Oracle JDK 11+, it is available as open source, info on this is at OpenWebStart.
As an alternative which offers similar functionality, consider something like jpro, which deploys JavaFX applications in a browser without a Java plugin (jpro is currently only in closed beta, so it is not a viable solution as of October 2017, but maybe someday in the future...).
For now, I would recommend that the best way to deploy JavaFX applications is as self-contained applications, running outside a browser.
Previous answer for Java 7 and 8
JavaFx - can it really be deployed in a browser?
Yes, JavaFX applications can be deployed so that they run inside a web browser hosted html web page.
The technology which allows this to occur is the Java Plugin. This plugin is currently a NPAPI based browser plugin solution. The Java Plugin is shipped with the Oracle Java 7 Runtime Standard Environment.
Not all browsers are supported, only those listed on the JavaFX Supported Configurations page.
How easy is it to deploy via web browser?
The easiest way to deploy a JavaFX project in a web browser is:
Create a new JavaFX project in NetBeans.
Develop a simple HelloWorld App.
Follow the instructions for Deploying your first JavaFX Application.
This is not difficult (in my opinion).
Alternatively, follow instructions on the detailed reference for Deploying JavaFX Applications (or use 3rd party tools). For many projects, using a tool other than the NetBeans IDE to perform packaging is a better approach. However, it is generally easier to let the NetBeans IDE handle deployment packaging tasks for you.
What follows is not related to answering the original question, but provides some opinions and information requested in comments on this answer.
Some Advice
There are pitfalls to deploying Java in a browser. I encourage you to do your own Google research on the subject.
In my mind, based upon the current JavaFX 2.x deployment model, for most application types that require a browser as the primary runtime container, using JavaFX is not an appropriate solution.
Examine the deployment and runtime requirements for your application. Based on your requirements, and knowledge of the JavaFX browser based execution model, decide if a browser based deployment using JavaFX technology is the correct mechanism for your application.
A couple of potential difficulties for browser embedded JavaFX applications
Some important browsers (e.g. Internet Explorer 10, iOS Safari and soon Desktop Chrome) don't permit execution of plugins using the NPAPI currently used by the Java browser plugin => some of your target users may be unable to use your application.
With a browser embedded application, you don't have complete control over the runtime on which your application executes (browser + Java runtime + plugin interface) => an application which was working when first installed may stop functioning as expected after an update to these runtime components.
Deployment Alternatives
If a browser based deployment model is not appropriate for your application, there are other ways to deploy JavaFX applications (e.g. WebStart, stand-alone jars and self-contained applications).
JavaFX - can it really be deployed in a browser?
No, not any more.
The answer used to be yes, as given in this answer, although even in 2013 when that was written the writing was on the wall. However, here in 2016 the answer is no, it cannot. Modern browsers essentially don't support NPAPI any longer (Firefox does for Java, but only until the end of the year), and NPAPI is required for the Java plugin.
As of 2016 you can use jpro without any browser plugin. And it even runs on mobiles.
Edit 1: The project is free for non-commercial or open source projects. A "hello world" can be found here
I found solution by chance here.
what was missing in my web project.
I must add this to web.xml file :
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm learning Java and I've been reading these books:
Head First Java, Head First Servlets and JSP to get started.
Up until now, I've been doing most of the learning on HF Java on Eclipse IDE for Java developers(not the EE one). I also installed Java SE 7.
But now I want to move on to HF Servlets and JSP. The book says I need only Tomcat.
I also wanted to familiarize myself with NetBeans, so I downloaded Netbeans IDE for Java EE from this page https://netbeans.org/downloads/index.html.
My questions are : 1. Should I download Java EE before installing this version of Netbeans? Does this version include the Java EE or should I download it from Sun page?
2. Is it overkill to install Netbeans for EE when all I need is Tomcat?
I will eventually learn EE I think... After these two books, I may read HF Design Patterns or HF OOAnalysis & Design Not sure if they're really necessary.
3. What would be the appropriate learning order do you think is ?
Your answers will be appreciated.
1.
Java EE is basically just Java SE with a few additional JARs for EE APIs like Servlets, JAX-WS etc. Installing multiple JREs on a computer will most likely lead to runtime issues because of the question which JRE is the default one, especially on Windows, since JAVA_HOME environment variable is not consulted in Windows Explorer, and tools like Ant and Maven depend on it.
For example, I keep several JREs/JDKs in one folder (unpacked, not installed) and list them in Eclipse to run applications I am developing on a particular JRE.
2.
When you, in Eclipse, do the following:
Window > Preferences > Server > Runtime Environments > Add...
and select Apache Tomcat 7, in the next step you can click on Download and Install... for Eclipse to download the latest Tomcat and set it up in selected folder as a target runtime that will run in the selected JRE.
You can also manually do the same and just point Eclipse to the folder where you installed / unpacked Tomcat.
When you then create the new Server for that Tomcat runtime you can assign a Dynamic Web Application project to it and it will be deployed on every change to the project. You can run it or debug it from inside Eclipse.
3.
Once you are on good terms with servlets and JSPs you should probably continue with the OO Analysis and Design, and then learn the Design Patterns. After those I recommend books on OSGi and Java Application Architecture.
Good luck.
If you install Netbeans EE, it will also install other goodies such as Tomcat or Glassfish. This will allow you to debug your EE application directly from the IDE, as opposed to having everything dumped into Tomcat logs.
I think that since you are just beginning, doing everything from your IDE will allow you to better focus on what you need to learn.
If you learn the usual coding standards and recommended ways in Java SE, you shouldn't have any trouble in moving on to EE. If you read more about OOP and other design patterns, you will be better equipped to build decent applications and also better understand frameworks which are already available.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I know that weblogic is proprietary, but is it open source ?
Or at least even though the Weblogic download is binary (.class or .jar files), is there a way we can get the source code of how oracle has implemented the Java EE specification ?
No, WebLogic is definitely not open-source, never been and will not be. It's an application server being developed by Oracle (even if it was originally a product of BEA, which was acquisited by Oracle - now it's so long since then that we can say it's really Oracle product).
Oracle WebLogic Server (WLS) is in the center of all middleware (and some other too) products of Oracle (SOA Suite, WebCenter, ...). Therefore it is developed with many enterprise features like enterprise logging framework, enterprise monitoring, clustering, caching, and so on... It supports full Java EE 6 stack.
Glassfish application server, on other hand, is the reference implementation (RI) of Java EE. Everytime new Java EE specification version is released, GlassFish has it implemented. You can check the new specification and if you like it, you can wait for WebLogic - it will have it some time later. GlassFish is open-source by nature to let the people see the implementation of Java EE standards. It has come to Oracle with acquisition of Sun Microsystems and it's still actively developed. Currently it's a full RI of Java EE 7 (you certainly know we have Java EE Full profile and Java EE Web profile - for example, Tomcat is a Web profile implementation).
There is no other big difference between WebLogic and GlassFish, however, if you will want to use some other Oracle (middleware) product, you will need to go with WebLogic. If you do just Java EE development, GlassFish is absolutelly sufficient (and from my experience, leaner to work with).
The Glassfish Java EE server is the opensource reference implementation.
If you've got a generic interest in how the standards can be implemented this should help.