Browse Source

add graalvm compilation

logging not work properly for the moment
feat/dev-api
Antoine 1 year ago
parent
commit
7bf586dabf
Signed by: antoine <antoinroux@hotmail.fr> GPG Key ID: 098FB66FC0475E70
10 changed files with 3065 additions and 19 deletions
  1. +28
    -0
      Dockerfile
  2. +14
    -0
      Dockerfile-agent
  3. +13
    -1
      Makefile
  4. +75
    -0
      issue.md
  5. +118
    -18
      pom.xml
  6. +15
    -0
      src/main/resources/META-INF/native-image/jni-config.json
  7. +7
    -0
      src/main/resources/META-INF/native-image/proxy-config.json
  8. +2507
    -0
      src/main/resources/META-INF/native-image/reflect-config.json
  9. +155
    -0
      src/main/resources/META-INF/native-image/resource-config.json
  10. +133
    -0
      trace.md

+ 28
- 0
Dockerfile View File

@@ -0,0 +1,28 @@
FROM oracle/graalvm-ce:20.1.0-java11 as builder

ADD .mvn/ /build/.mvn
ADD mvnw /build
WORKDIR /build

# Install GraalVM Native Image
RUN gu install native-image; \
./mvnw --version \
native-image --version

COPY pom.xml /build
RUN ./mvnw clean dependency:go-offline

ADD src/ /build/src/
ADD Makefile /build

# download dependencies and compile into layer
RUN ./mvnw -Pgraal compile

# generate graalvm image into another layer
RUN ./mvnw -Pgraal package

FROM debian:buster
#FROM scratch
COPY --from=builder /build/target/wikiProject /wikiproject
RUN chmod +x /wikiproject
ENTRYPOINT ["/wikiproject"]

+ 14
- 0
Dockerfile-agent View File

@@ -0,0 +1,14 @@
FROM oracle/graalvm-ce:20.1.0-java11 as builder

WORKDIR /build
VOLUME /build

# Install GraalVM Native Image
RUN gu install native-image; \
native-image --version

ENV RUN_PORT 8080

RUN mkdir -p /build/src/main/resources/META-INF
CMD java -agentlib:native-image-agent=config-output-dir=/build/src/main/resources/META-INF/native-image \
-jar /build/target/wikiProject-1.0-SNAPSHOT.jar --server.port=$ENV_PORT

+ 13
- 1
Makefile View File

@@ -1,4 +1,4 @@
.PHONY: build
.PHONY: build run debug docker-build docker-run docker-graal-introspect docker-graal-build docker-graal-run

build:
./mvnw compile
@@ -14,3 +14,15 @@ docker-build:

docker-run:
docker run --rm -d -p 8080:8080 docker.registry:5000/wikiproject:latest

docker-graal-introspect: RUN_PORT=8080
docker-graal-introspect:
docker build -f ./Dockerfile-agent -t docker.registry:5000/wikiproject-native-introspect .
docker run -p 8080:$(RUN_PORT) -e RUN_PORT=$(RUN_PORT) --rm -v $$(pwd):/build docker.registry:5000/wikiproject-native-introspect

docker-graal-build:
docker build -t docker.registry:5000/wikiproject-native .

docker-graal-run: RUN_PORT=8080
docker-graal-run:
docker run -d --rm -p 8080:$(RUN_PORT) docker.registry:5000/wikiproject-native --server.port=$(RUN_PORT)

+ 75
- 0
issue.md View File

@@ -0,0 +1,75 @@
# issues

## with undertow

### during native-image

```
Fatal error:com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing io.undertow.servlet.spec.ServletPrintWriterDelegate.newInstance(io.undertow.servlet.spec.ServletPrintWriter)
Parsing context:
parsing io.undertow.servlet.spec.HttpServletResponseImpl.resetBuffer(HttpServletResponseImpl.java:556)
parsing javax.servlet.ServletResponseWrapper.resetBuffer(ServletResponseWrapper.java:190)
parsing io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDispatcherImpl.java:169)
parsing io.undertow.servlet.spec.RequestDispatcherImpl.forwardImplSetup(RequestDispatcherImpl.java:149)
parsing io.undertow.servlet.spec.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:111)
parsing org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:171)
parsing org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316)
parsing org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1373)
parsing com.oracle.svm.reflect.DispatcherServlet_render_e72506965c502aea2056a5f4489afdcb7851c1bf_1141.invoke(Unknown Source)
parsing java.lang.reflect.Method.invoke(Method.java:566)
parsing org.springframework.core.convert.support.ObjectToObjectConverter.convert(ObjectToObjectConverter.java:102)
parsing org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:41)
parsing org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:191)
parsing org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:174)
parsing org.springframework.core.env.AbstractPropertyResolver.convertValueIfNecessary(AbstractPropertyResolver.java:265)
parsing org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:91)
parsing org.springframework.core.env.PropertySourcesPropertyResolver.getProperty(PropertySourcesPropertyResolver.java:62)
parsing org.springframework.core.env.AbstractPropertyResolver.getProperty(AbstractPropertyResolver.java:169)
parsing org.springframework.core.env.AbstractEnvironment.getProperty(AbstractEnvironment.java:540)
parsing org.springframework.boot.SpringApplicationBannerPrinter.createStringFromBanner(SpringApplicationBannerPrinter.java:116)
parsing org.springframework.boot.SpringApplicationBannerPrinter.print(SpringApplicationBannerPrinter.java:61)
parsing org.springframework.boot.SpringApplication.printBanner(SpringApplication.java:556)
parsing org.springframework.boot.SpringApplication.run(SpringApplication.java:310)
parsing org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
parsing org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
parsing tk.antoine_roux.wiki.MainLauncher.main(MainLauncher.java:25)
parsing com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:149)
parsing com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:184)
parsing com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)

at com.oracle.graal.pointsto.util.AnalysisError.parsingError(AnalysisError.java:138)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:340)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:311)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:112)
at com.oracle.graal.pointsto.flow.StaticInvokeTypeFlow.update(InvokeTypeFlow.java:437)
at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:530)
at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:173)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
```

## with spring-boot-devtools

```
docker run --rm docker.registry:5000/wikiproject-native
Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationListener : org.springframework.boot.devtools.logger.DevToolsLogFactory.Listener
at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:445)
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:427)
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:420)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:273)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:253)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at tk.antoine_roux.wiki.MainLauncher.main(MainLauncher.java:25)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.devtools.logger.DevToolsLogFactory.Listener
at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:60)
at java.lang.Class.forName(DynamicHub.java:1207)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:284)
at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:438)
... 7 more
make: *** [Makefile:22: docker-graal-run] Error 1
```

+ 118
- 18
pom.xml View File

@@ -20,13 +20,17 @@

<properties>
<revision>1.0-SNAPSHOT</revision>
<java.version>14</java.version>
<java.version>11</java.version>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<jib-maven-plugin.version>2.5.2</jib-maven-plugin.version>
<spring-boot.run.jvmArguments/>
<application.port>8080</application.port>
<resource.delimiter>^</resource.delimiter>
<enable-preview.jvmFlag>--enable-preview</enable-preview.jvmFlag>
<enable-preview.jvmFlag/>
<!-- <enable-preview.jvmFlag>&#45;&#45;enable-preview</enable-preview.jvmFlag>-->
<start-class>tk.antoine_roux.wiki.MainLauncher</start-class>
<spring-graalvm-native.version>0.7.1</spring-graalvm-native.version>
<native-image-maven-plugin.version>20.1.0</native-image-maven-plugin.version>
</properties>

<dependencies>
@@ -38,23 +42,23 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-tomcat</artifactId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-undertow</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-devtools</artifactId>-->
<!-- <scope>runtime</scope>-->
<!-- <optional>true</optional>-->
<!-- </dependency>-->
</dependencies>

<build>
@@ -108,4 +112,100 @@
</plugins>
</build>

<profiles>
<profile>
<id>graal</id>
<dependencies>
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>spring-graalvm-native</artifactId>
<version>${spring-graalvm-native.version}</version>
</dependency>
<!-- generate target/classes/META_INF/spring.components with list of application's spring component class -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-indexer</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.graalvm.nativeimage</groupId>
<artifactId>native-image-maven-plugin</artifactId>
<version>${native-image-maven-plugin.version}</version>
<configuration>
<!--
&#45;&#45;initialize-at-run-time=org.springframework.data.r2dbc.connectionfactory.ConnectionFactoryUtils
&#45;&#45;initialize-at-build-time=io.r2dbc.spi.IsolationLevel,io.r2dbc.spi
&#45;&#45;initialize-at-build-time=io.r2dbc.spi.ConstantPool,io.r2dbc.spi.Assert,io.r2dbc.spi.ValidationDepth
&#45;&#45;initialize-at-build-time=org.springframework.data.r2dbc.connectionfactory

&#45;&#45;initialize-at-build-time=org.reactivestreams.Publisher
&#45;&#45;initialize-at-build-time=com.example.reactive.ReservationRepository
&#45;&#45;initialize-at-run-time=io.netty.channel.unix.Socket
&#45;&#45;initialize-at-run-time=io.netty.channel.unix.IovArray
&#45;&#45;initialize-at-run-time=io.netty.channel.epoll.EpollEventLoop
&#45;&#45;initialize-at-run-time=io.netty.channel.unix.Errors
-->

<buildArgs>
-Dspring.graal.mode=initialization-only
-Dspring.graal.dump-config=/tmp/computed-reflect-config.json
-Dspring.graal.verbose=true
-Dspring.graal.skip-logback=true
-Dspring.graal.remove-unused-autoconfig=true
-H:+TraceClassInitialization
--no-fallback
--allow-incomplete-classpath
--report-unsupported-elements-at-runtime
-H:+ReportExceptionStackTraces
--no-server
-J-Xmx3G
</buildArgs>

<!--
<buildArgs>-H:+TraceClassInitialization -H:+ReportExceptionStackTraces
-Dspring.native.remove-unused-autoconfig=true
-Dspring.native.remove-yaml-support=true
&#45;&#45;no-server -J-Xmx3G -J${enable-preview.jvmFlag}
&#45;&#45;no-fallback
&#45;&#45;static
</buildArgs>
-->
<imageName>${project.artifactId}</imageName>
</configuration>
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>

</project>

+ 15
- 0
src/main/resources/META-INF/native-image/jni-config.json View File

@@ -0,0 +1,15 @@
[
{
"name":"java.lang.ClassLoader",
"methods":[
{"name":"getPlatformClassLoader","parameterTypes":[] },
{"name":"loadClass","parameterTypes":["java.lang.String"] }
]
},
{
"name":"java.lang.ClassNotFoundException"
},
{
"name":"java.lang.NoSuchMethodError"
}
]

+ 7
- 0
src/main/resources/META-INF/native-image/proxy-config.json View File

@@ -0,0 +1,7 @@
[
["java.lang.reflect.ParameterizedType","org.springframework.core.SerializableTypeWrapper$SerializableTypeProxy","java.io.Serializable"],
["java.lang.reflect.TypeVariable","org.springframework.core.SerializableTypeWrapper$SerializableTypeProxy","java.io.Serializable"],
["java.lang.reflect.WildcardType","org.springframework.core.SerializableTypeWrapper$SerializableTypeProxy","java.io.Serializable"],
["org.springframework.boot.context.properties.ConfigurationProperties","org.springframework.core.annotation.SynthesizedAnnotation"],
["org.springframework.web.bind.annotation.RequestMapping","org.springframework.core.annotation.SynthesizedAnnotation"]
]

+ 2507
- 0
src/main/resources/META-INF/native-image/reflect-config.json
File diff suppressed because it is too large
View File


+ 155
- 0
src/main/resources/META-INF/native-image/resource-config.json View File

@@ -0,0 +1,155 @@
{
"resources":[
{"pattern":"\\QMETA-INF/spring-autoconfigure-metadata.properties\\E"},
{"pattern":"\\QMETA-INF/spring.factories\\E"},
{"pattern":"\\Qapplication.properties\\E"},
{"pattern":"\\Qorg/apache/catalina/core/RestrictedFilters.properties\\E"},
{"pattern":"\\Qorg/apache/catalina/core/RestrictedListeners.properties\\E"},
{"pattern":"\\Qorg/apache/catalina/core/RestrictedServlets.properties\\E"},
{"pattern":"\\Qorg/apache/catalina/loader/JdbcLeakPrevention.class\\E"},
{"pattern":"\\Qorg/apache/catalina/util/CharsetMapperDefault.properties\\E"},
{"pattern":"\\Qorg/apache/catalina/util/ServerInfo.properties\\E"},
{"pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"},
{"pattern":"\\Qorg/springframework/beans/factory/Aware.class\\E"},
{"pattern":"\\Qorg/springframework/beans/factory/BeanFactoryAware.class\\E"},
{"pattern":"\\Qorg/springframework/beans/factory/config/BeanFactoryPostProcessor.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/AutoConfigureAfter.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/AutoConfigureBefore.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/AutoConfigureOrder.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/aop/AopAutoConfiguration$AspectJAutoProxyingConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/aop/AopAutoConfiguration$ClassProxyingConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/aop/AopAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration$CacheConfigurationImportSelector.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration$CacheManagerEntityManagerFactoryDependsOnPostProcessor.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration$CacheManagerValidator.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/GenericCacheConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/NoOpCacheConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/cache/SimpleCacheConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnBean.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnClass.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnMissingBean.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnMissingClass.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnProperty.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/condition/ConditionalOnWebApplication.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/data/jpa/EntityManagerFactoryDependsOnPostProcessor.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/GsonHttpMessageConvertersConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration$NotReactiveWebApplicationCondition$ReactiveWebApplication.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration$NotReactiveWebApplicationCondition.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration$StringHttpMessageConverterConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/JacksonHttpMessageConvertersConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/http/JsonbHttpMessageConvertersConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration$GitResourceAvailableCondition.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$Jackson2ObjectMapperBuilderCustomizerConfiguration$StandardJackson2ObjectMapperBuilderCustomizer.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$Jackson2ObjectMapperBuilderCustomizerConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonObjectMapperConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$ParameterNamesModuleConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration$NotReactiveWebApplicationCondition$ReactiveWebApplication.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration$NotReactiveWebApplicationCondition.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration$JettyWebServerFactoryCustomizerConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration$NettyWebServerFactoryCustomizerConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration$TomcatWebServerFactoryCustomizerConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration$UndertowWebServerFactoryCustomizerConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration$DefaultDispatcherServletCondition.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration$DispatcherServletConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration$DispatcherServletRegistrationCondition.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration$LocaleCharsetMappingsCustomizer.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/MultipartAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration$BeanPostProcessorsRegistrar.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryConfiguration$EmbeddedJetty.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryConfiguration$EmbeddedTomcat.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryConfiguration$EmbeddedUndertow.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$OptionalPathExtensionContentNegotiationStrategy.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$ResourceChainCustomizerConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$ResourceChainResourceHandlerRegistrationCustomizer.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$ResourceHandlerRegistrationCustomizer.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration$DefaultErrorViewResolverConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration$ErrorPageCustomizer.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration$ErrorTemplateMissingCondition.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration$PreserveErrorControllerTargetClassPostProcessor.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration$StaticView.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration$JettyWebSocketConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration$TomcatWebSocketConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration$UndertowWebSocketConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/boot/context/properties/EnableConfigurationProperties.class\\E"},
{"pattern":"\\Qorg/springframework/boot/context/properties/EnableConfigurationPropertiesRegistrar.class\\E"},
{"pattern":"\\Qorg/springframework/context/ApplicationContextAware.class\\E"},
{"pattern":"\\Qorg/springframework/context/ResourceLoaderAware.class\\E"},
{"pattern":"\\Qorg/springframework/context/annotation/Conditional.class\\E"},
{"pattern":"\\Qorg/springframework/context/annotation/Configuration.class\\E"},
{"pattern":"\\Qorg/springframework/context/annotation/Import.class\\E"},
{"pattern":"\\Qorg/springframework/context/annotation/ImportBeanDefinitionRegistrar.class\\E"},
{"pattern":"\\Qorg/springframework/core/Ordered.class\\E"},
{"pattern":"\\Qorg/springframework/core/annotation/Order.class\\E"},
{"pattern":"\\Qorg/springframework/web/context/ServletContextAware.class\\E"},
{"pattern":"\\Qorg/springframework/web/servlet/DispatcherServlet.properties\\E"},
{"pattern":"\\Qorg/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class\\E"},
{"pattern":"\\Qorg/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport$NoOpValidator.class\\E"},
{"pattern":"\\Qorg/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.class\\E"},
{"pattern":"\\Qorg/springframework/web/servlet/config/annotation/WebMvcConfigurer.class\\E"},
{"pattern":"\\Qorg/springframework/web/util/HtmlCharacterEntityReferences.properties\\E"},
{"pattern":"\\Qtk/antoine_roux/wiki/\\E"}
],
"bundles":[
{"name":"org.apache.catalina.authenticator.LocalStrings"},
{"name":"org.apache.catalina.authenticator.jaspic.LocalStrings"},
{"name":"org.apache.catalina.connector.LocalStrings"},
{"name":"org.apache.catalina.core.LocalStrings"},
{"name":"org.apache.catalina.deploy.LocalStrings"},
{"name":"org.apache.catalina.loader.LocalStrings"},
{"name":"org.apache.catalina.mapper.LocalStrings"},
{"name":"org.apache.catalina.mbeans.LocalStrings"},
{"name":"org.apache.catalina.realm.LocalStrings"},
{"name":"org.apache.catalina.security.LocalStrings"},
{"name":"org.apache.catalina.servlets.LocalStrings"},
{"name":"org.apache.catalina.session.LocalStrings"},
{"name":"org.apache.catalina.startup.LocalStrings"},
{"name":"org.apache.catalina.util.LocalStrings"},
{"name":"org.apache.catalina.valves.LocalStrings"},
{"name":"org.apache.catalina.webresources.LocalStrings"},
{"name":"org.apache.coyote.LocalStrings"},
{"name":"org.apache.coyote.http11.LocalStrings"},
{"name":"org.apache.coyote.http11.filters.LocalStrings"},
{"name":"org.apache.naming.LocalStrings"},
{"name":"org.apache.tomcat.util.LocalStrings"},
{"name":"org.apache.tomcat.util.buf.LocalStrings"},
{"name":"org.apache.tomcat.util.compat.LocalStrings"},
{"name":"org.apache.tomcat.util.descriptor.web.LocalStrings"},
{"name":"org.apache.tomcat.util.http.LocalStrings"},
{"name":"org.apache.tomcat.util.http.parser.LocalStrings"},
{"name":"org.apache.tomcat.util.modeler.LocalStrings"},
{"name":"org.apache.tomcat.util.net.LocalStrings"},
{"name":"org.apache.tomcat.util.scan.LocalStrings"},
{"name":"org.apache.tomcat.util.threads.res.LocalStrings"},
{"name":"org.apache.tomcat.websocket.LocalStrings"},
{"name":"org.apache.tomcat.websocket.server.LocalStrings"}
]
}

+ 133
- 0
trace.md View File

@@ -0,0 +1,133 @@
____ _ _____ _
/ ___| _ __ _ __(_)_ __ __ _ | ___|__ __ _| |_ _ _ _ __ ___
\___ \| '_ \| '__| | '_ \ / _` | | |_ / _ \/ _` | __| | | | '__/ _ \
___) | |_) | | | | | | | (_| | | _| __/ (_| | |_| |_| | | | __/
|____/| .__/|_| |_|_| |_|\__, | |_| \___|\__,_|\__|\__,_|_| \___|
|_| |___/

Feature operating in FEATURE mode
Removing unused configurations
Use -Dspring.native.verbose=true on native-image call to see more detailed information from the feature
[wikiProject:91] (cap): 741.54 ms, 1.18 GB
WARNING: Could not resolve org.springframework.boot.loader.LaunchedURLClassLoader for reflection configuration.
Found #6 types in static reflection list to register
Skipping #6 types not on the classpath
Attempting proxy registration of #16 proxies
Skipped registration of #9 proxies - relevant types not on classpath
[wikiProject:91] setup: 2,324.54 ms, 1.18 GB
Registering resources - #35 patterns
Registering resources - #2 bundles
Processing META-INF/spring.factories files...
spring.factories processing, problem adding access for key org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer: javax/validation/ValidationException
Processing spring.factories - ApplicationListener lists #10 application listeners
Processing spring.factories - PropertySourceLoader lists #2 property source loaders
spring.factories processing, problem adding access for key org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer: org/springframework/jdbc/CannotGetJdbcConnectionException
Processing spring.factories - ApplicationListener lists #0 application listeners
Processing spring.factories - EnableAutoConfiguration lists #127 configurations
Excluding 102 auto-configurations from spring.factories file
WARNING: unable to trim META-INF/spring.factories (for example to disable unused auto configurations) because an existing resource-config is directly including it: /build/target/wikiProject-1.0-SNAPSHOT.jar!META-INF/native-image/resource-config.json
Processing spring.factories - ApplicationListener lists #1 application listeners
Processing existing META-INF/spring.components files...
Registered 1 entries
Configuring initialization time for specific types and packages:
#88 buildtime-init-classes #23 buildtime-init-packages #33 runtime-init-classes #1 runtime-init-packages

Warning: class initialization of class org.springframework.boot.validation.MessageInterpolatorFactory failed with exception java.lang.NoClassDefFoundError: javax/validation/ValidationException. This class will be initialized at run time because option --allow-incomplete-classpath is used for image building. Use the option --initialize-at-run-time=org.springframework.boot.validation.MessageInterpolatorFactory to explicitly request delayed initialization of this class.
Number of types dynamically registered for reflective access: #2024
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration. Reason: java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory.
WARNING: Could not register reflection metadata for org.springframework.http.ReactiveHttpInputMessage. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Flux.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: org/springframework/jdbc/CannotGetJdbcConnectionException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/json/bind/Jsonb.
WARNING: Could not register reflection metadata for org.springframework.http.server.reactive.HttpHandler. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono.
WARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration. Reason: java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder.
WARNING: Could not register reflection metadata for org.springframework.http.ReactiveHttpInputMessage. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Flux.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: org/springframework/jdbc/CannotGetJdbcConnectionException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/json/bind/Jsonb.
WARNING: Could not register reflection metadata for org.springframework.http.server.reactive.HttpHandler. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono.
WARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration. Reason: java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder.
WARNING: Could not register reflection metadata for org.springframework.http.ReactiveHttpInputMessage. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Flux.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: org/springframework/jdbc/CannotGetJdbcConnectionException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/json/bind/Jsonb.
WARNING: Could not register reflection metadata for org.springframework.http.server.reactive.HttpHandler. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono.
Warning: class initialization of class org.springframework.boot.validation.MessageInterpolatorFactory failed with exception java.lang.NoClassDefFoundError: javax/validation/ValidationException. This class will be initialized at run time because option --allow-incomplete-classpath is used for image building. Use the option --initialize-at-run-time=org.springframework.boot.validation.MessageInterpolatorFactory to explicitly request delayed initialization of this class.
Number of types dynamically registered for reflective access: #2024
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration. Reason: java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory.
WARNING: Could not register reflection metadata for org.springframework.http.ReactiveHttpInputMessage. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Flux.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: org/springframework/jdbc/CannotGetJdbcConnectionException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/json/bind/Jsonb.
WARNING: Could not register reflection metadata for org.springframework.http.server.reactive.HttpHandler. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono.
WARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration. Reason: java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder.
WARNING: Could not register reflection metadata for org.springframework.http.ReactiveHttpInputMessage. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Flux.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: org/springframework/jdbc/CannotGetJdbcConnectionException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/json/bind/Jsonb.
WARNING: Could not register reflection metadata for org.springframework.http.server.reactive.HttpHandler. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono.
WARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fiWARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration. Reason: java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder.
WARNING: Could not register reflection metadata for org.springframework.http.ReactiveHttpInputMessage. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Flux.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: org/springframework/jdbc/CannotGetJdbcConnectionException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/json/bind/Jsonb.
WARNING: Could not register reflection metadata for org.springframework.http.server.reactive.HttpHandler. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono.
WARNING: Could not register reflection metadata for org.springframework.boot.diagnostics.analyzer.ValidationExceptionFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidationException.
WARNING: Could not register reflection metadata for org.springframework.web.multipart.commons.CommonsMultipartResolver. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/validation/ValidatorFactory.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration. Reason: java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder.
WARNING: Could not register reflection metadata for org.springframework.http.ReactiveHttpInputMessage. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Flux.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jdbc.HikariDriverConfigurationFailureAnalyzer. Reason: java.lang.NoClassDefFoundError: org/springframework/jdbc/CannotGetJdbcConnectionException.
WARNING: Could not register reflection metadata for org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration. Reason: java.lang.NoClassDefFoundError: javax/json/bind/Jsonb.
WARNING: Could not register reflection metadata for org.springframework.http.server.reactive.HttpHandler. Reason: java.lang.NoClassDefFoundError: reactor/core/publisher/Mono.
[wikiProject:91] (clinit): 6,528.65 ms, 2.67 GB
[wikiProject:91] (typeflow): 331,780.47 ms, 2.67 GB
[wikiProject:91] (objects): 128,127.89 ms, 2.67 GB
[wikiProject:91] (features): 8,933.99 ms, 2.67 GB
[wikiProject:91] analysis: 485,228.58 ms, 2.67 GB
[wikiProject:91] universe: 17,923.31 ms, 2.67 GB
[wikiProject:91] (parse): 10,750.64 ms, 2.13 GB
[wikiProject:91] (inline): 11,753.82 ms, 2.67 GB
[wikiProject:91] (compile): 56,270.16 ms, 2.71 GB
[wikiProject:91] compile: 81,957.83 ms, 2.71 GB
[wikiProject:91] image: 9,000.77 ms, 2.48 GB
[wikiProject:91] write: 1,158.10 ms, 2.48 GB
[wikiProject:91] [total]: 605,656.30 ms, 2.48 GB
[INFO]
[INFO] --- spring-boot-maven-plugin:2.3.2.RELEASE:repackage (repackage) @ wikiProject ---
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10:40 min
[INFO] Finished at: 2020-08-17T22:31:28Z
[INFO] ------------------------------------------------------------------------
Removing intermediate container a8338a0f8da1
---> 8102c76cc125
Step 12/14 : FROM debian:buster
buster: Pulling from library/debian
d6ff36c9ec48: Pull complete
Digest: sha256:1e74c92df240634a39d050a5e23fb18f45df30846bb222f543414da180b47a5d
Status: Downloaded newer image for debian:buster
---> ee11c54e6bb7
Step 13/14 : COPY --from=builder /build/target/wikiProject /wikiproject
---> a214080a74d7
Step 14/14 : ENTRYPOINT ["/wikiproject"]
---> Running in ae1caf05bf0b
Removing intermediate container ae1caf05bf0b
---> 163f952c5bba
Successfully built 163f952c5bba
Successfully tagged docker.registry:5000/wikiproject-native:latest

Loading…
Cancel
Save