RAP version which support jboss8
Hello Team,
Currently we are using jboss7.4.9 with openjdk8. RAP version used is 3.10 . Please suggest RAP latest version is compatible with jboss8 or not. I did not found this information news and noteworthy
Hi,
it seems that you have already opened the same issue a while ago: #108
As of today, no RAP version supports Jboss 8 due to the lack of Jakarta EE servlet API support. You may want to follow the discussion here: #73
This issue should probably be closed as a duplicate of #108.
@bwolff @ifurnadjiev We are using RAP 3.10 with JDK 8 and I believe it is not compatible with jdk17. Could you please help to get the first RAP version made compatible with jdk17.
Use the latest one - RAP Runtime 3.26
@ifurnadjiev Thanks for the information but there seems to be good level of effort migrating to latest version. Could you please tell me the very first version compatible with jdk17. That will be starting point for us.
There are no big changes in RAP Runtime between the recent versions. That's why I recommend to use the latest one.
@Devip-singh there is a good chance that even RAP 3.10 is compatible with jdk17. You will probably have to use a jboss version that runs on jdk17, but is below jboss 8 due to the change to the Jakarta EE APIs.
RAP was never explicitly made compatible with jdk17, it is just compatible due to the backward compatibility of the jdk itself. You might just need to specify some special jdk startup parameters to bypass the jdk9 module requirements. If you want to be sure then you could go with RAP 3.14, which requires jdk11 (but only due to the Eclipse platform policy). But then, as Ivan mentioned, upgrading to the latest RAP version requires little to no code changes. Only changes in the Eclipse platform bundles and possibly other dependencies.
How do we go from 3.10 to 3.26? Is there a link to look at?
@hangum you can have a look at the "New & Noteworthy" sections of the releases, just check the links to the releases on the right on the following page: https://eclipse.dev/rap/noteworthy/3.26/
If there are breaking changes, it's documented there. But as mentioned before, there shouldn't be any breaking (API or code) changes between 3.10 and the latest version, only new features.
I tried changing the code to the latest version(3.26) and had some issue.
What should I replace javax.servlet with?
Should I change it to jakrta.servlet, jakarta.servlet.http?
When I use javax.servlet.http.HttpServletResponse in my code, such as RWT.getResponse(), I get the error "The type javax.servlet.http.HttpServletResponse cannot be resolved. It is indirectly referenced from required type org.eclipse.rap.rwt.RWT" error. How should I fix it?
final HttpSession sStore = RWT.getRequest().getSession(); I get the same error.
You need to increase the version of the javax.servlet dependencies. As written in the new and noteworthy section here: https://eclipse.dev/rap/noteworthy/3.17/
You should match the version of the javax.servlet API with the ones defined in the other RAP bundles.
@bwolff Thanks for the answer.
I don't understand what you mean by matching the version defined in the RAP bundle. I'm using javax.xservlet.http.HttpServletRequest for my RAP source. But shouldn't I be using jakrata.*?
Thanks
@hangum no, don't use jakarta.*, it's not yet supported by RAP. You need to update the version of the javax.servlet API that you declare as a dependency. As you can see on your screenshot, you are depending on javax.servlet 2.5.0. RAP requires 3.1.0 according to the bundle MANIFEST.MF (see Imported-Packages): https://github.com/eclipse-rap/org.eclipse.rap/blob/main/bundles/org.eclipse.rap.rwt/META-INF/MANIFEST.MF
So try updating the version to 3.1.0 and see if it resolves the missing types.
@bwolff Thank you very much
I migrated form 3.16 to 3.27 I worked with the following.
Executable env Tycho v2.7.5 java : JavaSE-17 env : Tomcat 10.1.16 (Using jakartaee-migration) Target platform : rap-3.27.0-RC2a-20231205-1650
pom.xml
demo : http://demo.tadpolehub.com/demo/ thanks.
Hello @hangum, @bwolff Can you please help me in the migration? I am migrating from 3.10 to 3.27 with following configuration:
Tycho: v2.7.5 Java : JavaSE-17 Target platform : rap-3.27.0-RC2 Eclipse v4.30
When I launch the OSGI configuration from eclipse, it fails the package validation with following error:
Even if I add javax.servlet-4.0.0 and osgi.service.http-1.2.2, it still fails because osgi.service.http in turn needs javax.servlet<3.1.0, which is not supported by RAP3.27. How can I resolve this conflict?
I tried finding another version for osgi.service.http which requires javax.servlet-4.0.0, so that this trade-off can be solved, but couldn't find any such version.
Thanks in advance.
-Regards, Himanshu
Hello @hangum, @bwolff Can you please help me in the migration? I am migrating from 3.10 to 3.27 with following configuration:
Tycho: v2.7.5 Java : JavaSE-17 Target platform : rap-3.27.0-RC2 Eclipse v4.30
When I launch the OSGI configuration from eclipse, it fails the package validation with following error:
Even if I add javax.servlet-4.0.0 and osgi.service.http-1.2.2, it still fails because osgi.service.http in turn needs javax.servlet<3.1.0, which is not supported by RAP3.27. How can I resolve this conflict?
I tried finding another version for osgi.service.http which requires javax.servlet-4.0.0, so that this trade-off can be solved, but couldn't find any such version.
Thanks in advance.
-Regards, Himanshu
I somehow managed to resolve the above mentioned issue. Now struggling with few more deployment exceptions, first one (probably the parent one) is regarding javax.xml bundle. It seems like org.eclipse.osgi wants javax.xml but I couldn't find its reference in the org.eclipse.osgi-manifest.MF
Logs are captured from jBoss v7.4.12
@hangum @bwolff Any idea or help regarding this is much appreciated.
Thanks.
@dwivedi17 Sorry, but I'm afraid I can't help you. I'm using RAP (RWT) standalone without Eclipse and OSGi, so I'm not using target platforms, OSGi and bundle configs and the like any longer. Therefore, I can't compare it to my own setup.
In general, you need to specify your own launch config for you application. This will include the RAP bundles as well as any special bundles that your app consists of, along with the dependency bundles. This should then also be reflected in your deployment config. Often, this can be trial and error to a certain extend.
I never used Maven/Tycho to build an deploy my app, so I'm not of much help here.
Duplicate of https://github.com/eclipse-rap/org.eclipse.rap/issues/108
