Michael Paus
10/02/2023, 4:55 PMCarter
10/02/2023, 5:17 PMMichael Paus
10/02/2023, 5:24 PMArkadii Ivanov
10/02/2023, 6:10 PMMichael Paus
10/02/2023, 7:43 PMArkadii Ivanov
10/02/2023, 7:50 PMephemient
10/02/2023, 11:12 PMSebastian Kürten
10/03/2023, 6:57 AMjlink
is actually capable of building runtimes cross-platform from module directories for a JDK's module for other platforms. Additionally, as @Arkadii Ivanov mentioned you can build the binaries of an app cross-platform (usually that's just a jar file with platform-independent class files) and you can download dependencies for all platforms such as the platform-specific skiko library on any platform. So all the tools exist to build executable apps cross-platform that include a native, customized runtime and all libraries needed to run your app (see also @jw’s article here https://jakewharton.com/using-jlink-to-cross-compile-minimal-jres/). One thing that cannot be done cross-platform with the JDK's tools is creating the launcher executables that are needed for the user to run your app that's usually built using jpackage
. It is however surprisingly easy to mimic the behavior of jpackage
when it comes to that. Basically it just copies over a pre-compiled, platform-specific executable that's shipped with the JDK you're using as a blueprint to build your app from. That executable doesn't need to be modified or recompiled, it can instead be configured using an accompanying *.cfg
text configuration file that basically defines the main class to run, the libraries to put on the classpath etc.Arkadii Ivanov
10/03/2023, 7:16 AMSebastian Kürten
10/03/2023, 7:43 AMArkadii Ivanov
10/03/2023, 7:48 AMSebastian Kürten
10/03/2023, 7:51 AMArkadii Ivanov
10/03/2023, 7:59 AMSebastian Kürten
10/03/2023, 8:06 AMMichael Paus
10/03/2023, 8:19 AMmacos-latest-xlarge
vs. macos-latest-large
runs-on: key. So it looks like this double-architecture feature might go away some time.Sebastian Kürten
10/03/2023, 8:30 AMMichael Paus
10/03/2023, 8:31 AMSebastian Kürten
10/03/2023, 9:09 AMlipo
as with the rest of the JDK.Michael Paus
10/03/2023, 9:18 AMmikehearn
10/05/2023, 12:50 PMMichael Paus
10/05/2023, 2:57 PM