Replies: 6 comments 3 replies
-
If people are keen enough we could look to release some sort of release candidate from master with the Jakarta PR applied. I don't want to commit to maintaining a long running branch/fork for Jakarta just yet but maybe a periodic |
Beta Was this translation helpful? Give feedback.
-
It will probably take quite some time to upgrade. While I would really like to use newest Jetty there are some libraries that hold me back either because they have no Jakarta version yet and are generally moving slowly or are generally old and would need to be migrated to newer major versions or replaced by some other library (including breaking changes). Of course some of these libraries need JAXB in older versions. So a time frame to migrate can not be given. |
Beta Was this translation helpful? Give feedback.
-
Hello Rob, our timeline for jakarta is
(We planned very conservatively here. And as usual for timelines, these can always deviate greatly from the actual planning.) Since it's Q1 now, we're already exploring possibilities
A quick test shows, that adding this code to the maven pom will generate jakartaee artifacts <plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>javax2jakarta</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<taskdef name="javax2jakarta" classname="org.apache.tomcat.jakartaee.MigrationTask" classpathref="maven.plugin.classpath"/>
<javax2jakarta src="target/${project.build.finalName}.jar" dest="target/${project.build.finalName}.jar" profile="tomcat"/>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>jakartaee-migration</artifactId>
<version>1.0.6</version>
</dependency>
</dependencies>
</plugin> This could be an option for ebean. Maybe put it in a profile, so you are able to switch between javax/jakarta release. |
Beta Was this translation helpful? Give feedback.
-
A short update But this isn't the long-term way we want to go, so we would need a jakarta-version of every artifact if possible (we only want to use javax2jakarta in exceptional cases)
Please take a look at this PR https://github.com/FOCONIS/javax-persistence-api/pull/1
I don't like that ebean sticks to `javax.persistence'. Reasons
... automatically translated by an ant-task We've analyzed, that we have to translate at least "ebean-api" and "ebean-core", We need only a few "glue" code to get other modules to compile (e.g. we would need a The replaced files may be There is still some work to do, especially the Ebean-Agent and the QueryBean generators are more than just to replace the imports. So for Ebean 13, it should be easy - with just the additional compile time of the modules - to maintain a javax and jakarta version. Roland |
Beta Was this translation helpful? Give feedback.
-
Announcement foconis has decided to sponsor Rob for implementing the jakarta support in ebean. As soon as there are first releases with jakarta support, we will test them and provide feedback. It would be great if we could find other people to try out the new jakarta support and give feedback. Roland |
Beta Was this translation helpful? Give feedback.
-
Thanks to Foconis we have moved the effort forward enough to have a plan that I think is good and sustainable over the long term. Plan outline:
Implementation:
Releasing:Releasing to maven central involves the extra steps of:
The benefits of this approach is that we will be able to sustain both a javax and jakarta "fork" over a long time (years). All the tests run with both javax and jakarta so we have good confidence in both releases that we put into central. It should be pretty easy for people to use and understand correctly. The people who maintain a fork of ebean will need to agree if and when we swap the master branch over to use jakarta (and then use the jakarta-to-javax conversion). As fork maintainers adopt jakarta they are likely to want to have the ebean master branch also on jakarta as that just makes it easier to see diffs and removes the extra jakarta-to-javax conversion that would be required. So at some point it's likely that we swap over the ebean master branch to use jakarta (and then our 2nd release uses the jakarta-to-javax conversion). Regardless of what we use on master we will still continue to release both versions and we will have to do that for quite a long time (years). |
Beta Was this translation helpful? Give feedback.
-
Spring Boot 3 is expected in November and that will use Jakarta.*
Q: When are people looking to migrate their apps to
Jakarta.*
or Spring Boot 3?The expected problem when looking at applications making this migration is 3rd party libraries that:
For example:
Have you contacted those 3rd party libraries and asked them if they are going to add support for Jakarta JAXB? Do you have a plan for dealing with the case if they don't intend to support Jakarta JAXB / like a fork or javaagent or build time hack?
See: #2835
Beta Was this translation helpful? Give feedback.
All reactions