I am the person who continues to maintain the J2CL Maven plugin. If you need to build a JavaScript application and run it in a JavaScript environment, you can look at how this is implemented here (https://github.com/apache/incubator-kie-tools/tree/main/packages/serverless-workflow-diagram-editor) (this is an application that uses a Jakarta-like CDI framework, along with JSON/YAML marshallers).
It looks like the Google team is finishing work on adding support for records, so I will be updating the entire stack soon to enable these features At the moment, GWT is noticeably more stable than J2CL, so I would recommend taking another look at it. However, if you really do not want to go that route, you could also consider running a WASM application using GraalVM. > On Dec 27, 2025, at 1:55 PM, Craig Mitchell <[email protected]> wrote: > > Isn't that what <packaging>gwt-lib</packaging> is designed for in GWT? ( > https://tbroyer.github.io/gwt-maven-plugin/usage.html ) > > Unless you're not running on a Java backend. So you'd need a npm package > created somehow. Not sure how to do that. > > On Sunday, 28 December 2025 at 8:33:42 am UTC+11 Tim Macpherson wrote: >> I want to provide client js that is logic only, no UI, I write it in java >> because the tooling in typescript is not good enough. I need to release this >> as pure js, it's that simple >> >> Yahoo Mail: Search, Organize, Conquer >> <https://mail.onelink.me/107872968?pid=nativeplacement&c=US_Acquisition_YMktg_315_SearchOrgConquer_EmailSignature&af_sub1=Acquisition&af_sub2=US_YMktg&af_sub3=&af_sub4=100002039&af_sub5=C01_Email_Static_&af_ios_store_cpp=0c38e4b0-a27e-40f9-a211-f4e2de32ab91&af_android_url=https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.mail&listing=search_organize_conquer> >> On Sat, Dec 27, 2025 at 8:59 PM, Colin Alworth >> <[email protected] <>> wrote: >> It still isnt quite clear to me what you're asking for - can you be more >> precise? >> >> That is, if you're writing d3 js code, the best way to make that available >> to others is JS. Each Java-to-JS compiler first assumes that the next >> developer is using Java, but each makes their own assumptions about how to >> map JS ideas to Java, so there isn't a one-size-fits-all approach. JsInterop >> types at least are mostly the same for both J2CL and GWT - but if you have a >> user who doesn't use GWT, they probably also don't use Java in the client at >> all? >> >> On Saturday, December 27, 2025 at 1:34:46 PM UTC-6 [email protected] <> >> wrote: >> GWT works for me and I will always be using it in my own stack while it's >> maintained, but I need to make some of my d3 js code and client java >> surrounding it available for others who don't use GWT. Teavm is maybe best >> tool for that. >> >> Yahoo Mail: Search, Organize, Conquer >> <https://mail.onelink.me/107872968?pid=nativeplacement&c=US_Acquisition_YMktg_315_SearchOrgConquer_EmailSignature&af_sub1=Acquisition&af_sub2=US_YMktg&af_sub3=&af_sub4=100002039&af_sub5=C01_Email_Static_&af_ios_store_cpp=0c38e4b0-a27e-40f9-a211-f4e2de32ab91&af_android_url=https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.mail&listing=search_organize_conquer> >> On Sat, Dec 27, 2025 at 7:17 PM, Colin Alworth >> <[email protected] <>> wrote: >> "Best" is hard to define - what are your requirements? >> >> If GWT doesn't fit your use cases, it seems unlikely that J2CL will - can >> you elaborate on what about GWT doesn't work for you? If anything, I've >> found J2CL to be more picky than GWT in just about every way - more limited >> options for emulation, more requirements for JsInterop, no JSNI/Generators, >> smaller ecosystem and prior art for customizing the build (whether using the >> maven plugin or the official Bazel build tooling). >> >> It does tend to produce slightly smaller and slightly faster output, and >> does offer better integration with compiling plain JS sources in the same >> build (with the requirement that this JS must be built to be safe to compile >> by closure-compiler in ADVANCED mode). >> >> For a generally bigger set of JRE emulation (and much larger output sizes), >> consider TeaVM or CheerpJ - both have their strengths. I don't have a lot of >> experience with either, but I do find that for math-heavy apps, TeaVM does a >> great job getting even better performance in some cases than GWT or J2CL, >> and produces output much more quickly. It tends to do much more poorly on >> string heavy (e.g. DOM manipulation). CheerpJ I have almost no experience >> with, but excels at supporting nearly any JRE-compatible code, and finding a >> way to make it work regardless of whether the browser is a good place to run >> it. This is a huge advantage for "it doesn't matter as long as it can run" >> cases - more and more it can be possible to run a JS app that is hundreds of >> times what would have been acceptable a few years ago. >> >> On Saturday, December 27, 2025 at 12:08:38 PM UTC-6 [email protected] >> <> wrote: >> Can someone advise if it's the best tool for building js code from pure >> logic front end java ? I need to enable usage for those not using GWT. Thanks >> >> Yahoo Mail: Search, Organize, Conquer >> <https://mail.onelink.me/107872968?pid=nativeplacement&c=US_Acquisition_YMktg_315_SearchOrgConquer_EmailSignature&af_sub1=Acquisition&af_sub2=US_YMktg&af_sub3=&af_sub4=100002039&af_sub5=C01_Email_Static_&af_ios_store_cpp=0c38e4b0-a27e-40f9-a211-f4e2de32ab91&af_android_url=https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.mail&listing=search_organize_conquer> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "GWT Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <>. >> >> To view this discussion visit >> https://groups.google.com/d/msgid/google-web-toolkit/12612394-a3db-4171-b11d-2b2dea7706c7n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/google-web-toolkit/12612394-a3db-4171-b11d-2b2dea7706c7n%40googlegroups.com?utm_medium=email&utm_source=footer>. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "GWT Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <>. >> To view this discussion visit >> https://groups.google.com/d/msgid/google-web-toolkit/e9abe6cd-84f4-4cb6-9a24-335775ac9115n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/google-web-toolkit/e9abe6cd-84f4-4cb6-9a24-335775ac9115n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . > > > -- > You received this message because you are subscribed to the Google Groups > "GWT Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion visit > https://groups.google.com/d/msgid/google-web-toolkit/08fdb818-510e-4674-9e67-e48f96959cf0n%40googlegroups.com > > <https://groups.google.com/d/msgid/google-web-toolkit/08fdb818-510e-4674-9e67-e48f96959cf0n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/88ED6B60-E3C5-4E97-B82B-7B057F0AADE1%40gmail.com.
