首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Springboot应用程序被Java 10卡在Docker中启动

Springboot应用程序被Java 10卡在Docker中启动
EN

Stack Overflow用户
提问于 2018-04-23 09:26:09
回答 1查看 1.2K关注 0票数 1

溶液

椅子与键盘之间存在错误

问题是SPRING_PROFILES_ACTIVE环境变量指向一个不存在的配置文件。将其更改为正确的名称解决了问题。我本以为Spring会在这方面输出一个错误,但是哦,好吧。

原始问题:

我有一个"hello“在Java10中运行。它直接在我的机器上运行很好,但是当试图用docker启动它时,它会被以下输出卡住:

代码语言:javascript
复制
(The Srping ascii art)

 :: Spring Boot ::        (v2.0.1.RELEASE)

WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (jar:file:/app.jar!/BOOT-INF/lib/groovy-2.4.15.jar!/) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

正在运行的进程:

代码语言:javascript
复制
java -Xmx800m -Djava.security.egd=file:/dev/./urandom -jar /app.jar

它可以直接在我的笔记本电脑(Mac )和我的同事电脑(Windows 7)上运行,但是它在本地和Kubernetes (AWS)上都失败了

我尝试过将spring日志级别配置为调试,但没有任何效果。我还尝试编辑$JAVA_HOME/conf/security/java.security以直接更改java securerandom.source属性,该属性也不起作用。

编辑: dockerfile是使用以下内容生成的:

代码语言:javascript
复制
FROM openjdk:10-jdk

RUN apt-get update && \
    apt-get install -y openssl curl
ADD java.security /docker-java-home/conf/security/java.security

ONBUILD ARG BUILD_VERSION_NO="no-version"

ENV SPRING_PROFILES_ACTIVE=prod
#ENV JAVA_OPTS="-Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n"

ONBUILD COPY target/*.jar app.jar
ONBUILD RUN sh -c 'touch /app.jar'
ONBUILD RUN echo "$BUILD_VERSION_NO" > /version

EXPOSE 8080

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -jar /app.jar" ]

我笔记本中的java版本是

代码语言:javascript
复制
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

用等效的openjdk打包应用程序并不能解决问题

代码语言:javascript
复制
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10)
OpenJDK 64-Bit Server VM (build 10.0.1+10, mixed mode) 
EN

回答 1

Stack Overflow用户

发布于 2018-04-23 14:45:22

回答我自己的问题,以防别人碰到这件事:

SPRING_PROFILES_ACTIVE环境变量包含"prod“,而应用程序中的spring配置文件是"pro”。更改Dockerfile中的值解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49977555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档