Я работаю над тем, чтобы наше приложение Spring Boot работало с Graalvm внутри Docker-контейнера.
Я просматривал процесс добавления классов в Reflection-config.json и сериализации-config.json, и теперь у меня возникают проблемы с базовыми классами Java, такими как Number, Integer и Boolean.
Например,
2024-12-05T08:07:38.062Z ERROR 1 --- [wfprev] [nio-8080-exec-2] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/wfprev-api] threw exception [Handler dispatch failed: com.oracle.svm.core.jdk.UnsupportedFeatureError: SerializationConstructorAccessor class not found for declaringClass: java.lang.Integer (targetConstructorClass: java.lang.Object). Usually adding java.lang.Integer to serialization-config.json fixes the problem.]
с основной причиной
com.oracle.svm.core.jdk.UnsupportedFeatureError: SerializationConstructorAccessor class not found for declaringClass: java.lang.Integer (targetConstructorClass: java.lang.Object). Usually adding java.lang.Integer to serialization-config.json fixes the problem.
Конечно, мне не нужно добавлять каждый Java-класс в эти файлы конфигурации, не так ли? Что я делаю не так?
Вот мой файл сериализации-config.json:
[
{ "name": "org.springframework.hateoas.RepresentationModel"},
{ "name": "org.springframework.hateoas.Link"},
{ "name": "org.springframework.hateoas.Links"},
{ "name": "java.util.Date"},
{ "name": "java.sql.Timestamp" },
{ "name": "java.lang.Number" },
{ "name": "java.lang.Integer" },
{ "name": "java.lang.Boolean" },
{ "name": "java.math.BigDecimal" }
]
Вот мой Dockerfile на случай, если это поможет
FROM ghcr.io/graalvm/graalvm-community:21 AS builder
# Define build argument and set it as environment variable
ARG MAVEN_SETTINGS_FILE=settings.xml
ENV MAVEN_SETTINGS_FILE=${MAVEN_SETTINGS_FILE}
# The environment variables from .env are automatically available here
# We don't need the ARG declarations anymore since we're using the env file
WORKDIR /app
# Copy maven settings first
COPY mvn_settings/${MAVEN_SETTINGS_FILE} /root/.m2/settings.xml
# Copy rest of the application
COPY . /app
# Make mvnw executable
RUN chmod +x mvnw
# Build the native image using settings.xml
RUN ./mvnw -s mvn_settings/${MAVEN_SETTINGS_FILE} -Pnative native:compile -DskipTests
# Runtime stage
FROM ubuntu:22.04
# Install curl for healthcheck and debugging
RUN apt-get update && apt-get install -y \
libc6 \
libstdc++6 \
curl \
&& rm -rf /var/lib/apt/lists/*
# Copy the native executable from builder stage
COPY --from=builder /app/target/wfprev-api /
# Expose the port your application uses
EXPOSE 8080
ENTRYPOINT ["/wfprev-api"]```
Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-integer
Graalvm Сериализация java.lang.Integer? ⇐ JAVA
Программисты JAVA общаются здесь
1733393781
Anonymous
Я работаю над тем, чтобы наше приложение Spring Boot работало с Graalvm внутри Docker-контейнера.
Я просматривал процесс добавления классов в Reflection-config.json и сериализации-config.json, и теперь у меня возникают проблемы с базовыми классами Java, такими как Number, Integer и Boolean.
Например,
2024-12-05T08:07:38.062Z ERROR 1 --- [wfprev] [nio-8080-exec-2] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/wfprev-api] threw exception [Handler dispatch failed: com.oracle.svm.core.jdk.UnsupportedFeatureError: SerializationConstructorAccessor class not found for declaringClass: java.lang.Integer (targetConstructorClass: java.lang.Object). Usually adding java.lang.Integer to serialization-config.json fixes the problem.]
с основной причиной
com.oracle.svm.core.jdk.UnsupportedFeatureError: SerializationConstructorAccessor class not found for declaringClass: java.lang.Integer (targetConstructorClass: java.lang.Object). Usually adding java.lang.Integer to serialization-config.json fixes the problem.
[b]Конечно, мне не нужно добавлять каждый Java-класс в эти файлы конфигурации, не так ли? Что я делаю не так?[/b]
Вот мой файл сериализации-config.json:
[
{ "name": "org.springframework.hateoas.RepresentationModel"},
{ "name": "org.springframework.hateoas.Link"},
{ "name": "org.springframework.hateoas.Links"},
{ "name": "java.util.Date"},
{ "name": "java.sql.Timestamp" },
{ "name": "java.lang.Number" },
{ "name": "java.lang.Integer" },
{ "name": "java.lang.Boolean" },
{ "name": "java.math.BigDecimal" }
]
Вот мой Dockerfile на случай, если это поможет
FROM ghcr.io/graalvm/graalvm-community:21 AS builder
# Define build argument and set it as environment variable
ARG MAVEN_SETTINGS_FILE=settings.xml
ENV MAVEN_SETTINGS_FILE=${MAVEN_SETTINGS_FILE}
# The environment variables from .env are automatically available here
# We don't need the ARG declarations anymore since we're using the env file
WORKDIR /app
# Copy maven settings first
COPY mvn_settings/${MAVEN_SETTINGS_FILE} /root/.m2/settings.xml
# Copy rest of the application
COPY . /app
# Make mvnw executable
RUN chmod +x mvnw
# Build the native image using settings.xml
RUN ./mvnw -s mvn_settings/${MAVEN_SETTINGS_FILE} -Pnative native:compile -DskipTests
# Runtime stage
FROM ubuntu:22.04
# Install curl for healthcheck and debugging
RUN apt-get update && apt-get install -y \
libc6 \
libstdc++6 \
curl \
&& rm -rf /var/lib/apt/lists/*
# Copy the native executable from builder stage
COPY --from=builder /app/target/wfprev-api /
# Expose the port your application uses
EXPOSE 8080
ENTRYPOINT ["/wfprev-api"]```
Подробнее здесь: [url]https://stackoverflow.com/questions/79253899/graalvm-serialization-of-java-lang-integer[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия