enhanced graalvm with only minimal work
This commit is contained in:
parent
7bf586dabf
commit
ee313e09bd
@ -21,8 +21,7 @@ RUN ./mvnw -Pgraal compile
|
||||
# generate graalvm image into another layer
|
||||
RUN ./mvnw -Pgraal package
|
||||
|
||||
FROM debian:buster
|
||||
#FROM scratch
|
||||
FROM scratch
|
||||
COPY --from=builder /build/target/wikiProject /wikiproject
|
||||
RUN chmod +x /wikiproject
|
||||
COPY --from=builder /tmp /tmp
|
||||
ENTRYPOINT ["/wikiproject"]
|
||||
|
3
Makefile
3
Makefile
@ -15,6 +15,7 @@ docker-build:
|
||||
docker-run:
|
||||
docker run --rm -d -p 8080:8080 docker.registry:5000/wikiproject:latest
|
||||
|
||||
# this java agent for instrospect java reflexion call is not mandatory, instead spring boot maven plugin do all stuff for us
|
||||
docker-graal-introspect: RUN_PORT=8080
|
||||
docker-graal-introspect:
|
||||
docker build -f ./Dockerfile-agent -t docker.registry:5000/wikiproject-native-introspect .
|
||||
@ -25,4 +26,4 @@ docker-graal-build:
|
||||
|
||||
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)
|
||||
docker run --rm -p 8080:$(RUN_PORT) docker.registry:5000/wikiproject-native --server.port=$(RUN_PORT)
|
||||
|
7
issue.md
7
issue.md
@ -73,3 +73,10 @@ Caused by: java.lang.ClassNotFoundException: org.springframework.boot.devtools.l
|
||||
... 7 more
|
||||
make: *** [Makefile:22: docker-graal-run] Error 1
|
||||
```
|
||||
|
||||
## during compile
|
||||
|
||||
```
|
||||
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
|
||||
```
|
||||
|
27
pom.xml
27
pom.xml
@ -135,20 +135,6 @@
|
||||
<artifactId>native-image-maven-plugin</artifactId>
|
||||
<version>${native-image-maven-plugin.version}</version>
|
||||
<configuration>
|
||||
<!--
|
||||
--initialize-at-run-time=org.springframework.data.r2dbc.connectionfactory.ConnectionFactoryUtils
|
||||
--initialize-at-build-time=io.r2dbc.spi.IsolationLevel,io.r2dbc.spi
|
||||
--initialize-at-build-time=io.r2dbc.spi.ConstantPool,io.r2dbc.spi.Assert,io.r2dbc.spi.ValidationDepth
|
||||
--initialize-at-build-time=org.springframework.data.r2dbc.connectionfactory
|
||||
|
||||
--initialize-at-build-time=org.reactivestreams.Publisher
|
||||
--initialize-at-build-time=com.example.reactive.ReservationRepository
|
||||
--initialize-at-run-time=io.netty.channel.unix.Socket
|
||||
--initialize-at-run-time=io.netty.channel.unix.IovArray
|
||||
--initialize-at-run-time=io.netty.channel.epoll.EpollEventLoop
|
||||
--initialize-at-run-time=io.netty.channel.unix.Errors
|
||||
-->
|
||||
|
||||
<buildArgs>
|
||||
-Dspring.graal.mode=initialization-only
|
||||
-Dspring.graal.dump-config=/tmp/computed-reflect-config.json
|
||||
@ -161,18 +147,9 @@
|
||||
--report-unsupported-elements-at-runtime
|
||||
-H:+ReportExceptionStackTraces
|
||||
--no-server
|
||||
-J-Xmx3G
|
||||
--initialize-at-build-time=org.springframework.boot.validation.MessageInterpolatorFactory
|
||||
-J-Xmx3G --static
|
||||
</buildArgs>
|
||||
|
||||
<!--
|
||||
<buildArgs>-H:+TraceClassInitialization -H:+ReportExceptionStackTraces
|
||||
-Dspring.native.remove-unused-autoconfig=true
|
||||
-Dspring.native.remove-yaml-support=true
|
||||
--no-server -J-Xmx3G -J${enable-preview.jvmFlag}
|
||||
--no-fallback
|
||||
--static
|
||||
</buildArgs>
|
||||
-->
|
||||
<imageName>${project.artifactId}</imageName>
|
||||
</configuration>
|
||||
<executions>
|
||||
|
@ -1,15 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name":"java.lang.ClassLoader",
|
||||
"methods":[
|
||||
{"name":"getPlatformClassLoader","parameterTypes":[] },
|
||||
{"name":"loadClass","parameterTypes":["java.lang.String"] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name":"java.lang.ClassNotFoundException"
|
||||
},
|
||||
{
|
||||
"name":"java.lang.NoSuchMethodError"
|
||||
}
|
||||
]
|
@ -1,7 +0,0 @@
|
||||
[
|
||||
["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"]
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@ -1,155 +0,0 @@
|
||||
{
|
||||
"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"}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user