Comments (1)
just a (arm64) note : spring-boot
Maven and Gradle plugins use, by default,
- the builders named
paketobuildpacks/builder-jammy-base:latest
orpaketobuildpacks/builder-jammy-tiny:latest
when native is activated - none of them support dual arch (yet) ❌ - the (composite )buildpacks named
paketobuildpacks/java:latest
or, when native is enabled,paketobuildpacks/java-native-image:latest
both of them are published as dual arch now ✅
To benefit from dual arch support, the users have to specify an alternative builder: paketobuildpacks/builder-jammy-buildpackless-tiny:latest
which is dual arch - otherwise, the arm64 path is not complete and won't allow users to use Java buildpacks arm64 flavor.
Since this builder is buildpackless
users have to manually specify the buildpacks they need.
Maven:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions> <!-- not necessary for arm64, but better take good habits now-->
<execution>
<id>process-aot</id>
<goals>
<goal>process-aot</goal>
</goals>
</execution>
</executions>
<configuration>
<image>
<env> <!-- not necessary for arm64, but better take good habits now-->
<BP_JVM_CDS_ENABLED>true</BP_JVM_CDS_ENABLED>
<BP_SPRING_AOT_ENABLED>true</BP_SPRING_AOT_ENABLED>
</env>
<buildpacks>
<buildpack>paketobuildpacks/java</buildpack>
</buildpacks>
<builder>paketobuildpacks/builder-jammy-buildpackless-tiny</builder>
</image>
</configuration>
</plugin>
Gradle:
plugins {
[...]
id("org.graalvm.buildtools.native") version "0.10.1" // not necessary for arm64, but better take good habits now
}
[...]
tasks.bootBuildImage {
builder.set("paketobuildpacks/builder-jammy-buildpackless-tiny")
buildpacks.add("gcr.io/paketo-buildpacks/java")
environment.put("BP_SPRING_AOT_ENABLED","true") // not necessary for arm64, but better take good habits now
environment.put("BP_JVM_CDS_ENABLED","true") // not necessary for arm64, but better take good habits now
}
There is no scheduled date when the default builders paketobuildpacks/builder-jammy-base:latest
and paketobuildpacks/builder-jammy-tiny:latest
will be published as dual arch(the best bet is to wait for the Ubuntu Noble based builders that will all be dual arch from day one and should arrive soon, but not for SB 3.3)
from spring-boot.
Related Issues (20)
- Upgrade to Kotlin Coroutines 1.8.1
- Upgrade to Maven Deploy Plugin 3.1.2
- Upgrade to Maven Install Plugin 3.1.2 HOT 2
- Upgrade to Maven Jar Plugin 3.4.1
- Upgrade to Maven Shade Plugin 3.5.3
- Upgrade to Pooled JMS 3.1.6
- Upgrade to R2DBC Proxy 1.1.5.RELEASE
- Upgrade to Testcontainers 1.19.8
- Upgrade to Tomcat 10.1.23
- Upgrade to Undertow 2.3.13.Final
- Address ambiguity now that Testcontainers has two classes named KafkaContainer
- jackson2objectmapperbuilder
- Prohibit upgrades to Hibernate 6.5.1 due to HHH-18108
- Image building fails during cleanup when bind mount has read-only content
- Factory method 'resourceHandlerMapping' threw exception with message: Uncaught exception during scan HOT 2
- Add external link style to API docs HOT 1
- Extend spring-boot-maven-plugin to allow customizing the loader for java SPIs HOT 1
- Document that a custom HttpMessageConverters bean can be used to reorder json message converters when needed
- Upgrade CI to Docker 26.1.2 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spring-boot.