我开始从事一个微服务项目。因此,我的服务的docker映像是在Jdk11中编译的。当我尝试下载并运行容器时,它不会运行。现在在检查日志后,我看到了-java。lang.UnsupportedClassVersionError我正在使用maven构建。我应该在pom中更改java版本吗。xml?我无法在ec2中更新java版本。请告诉我如何解决这次碰撞并继续。我有很多服务,我正试图把它全部放在EC2中。
Docker文件:更新到Java11
FROM openjdk:11.0-jdk-slim
VOLUME /tmp
COPY snapAppKey.jks snapAppKey.jks
COPY /target/SnapAppConfigServer-0.0.1-SNAPSHOT.jar ConfigServer.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","ConfigServer.jar"]
酶代码EC2
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/snapapp/config/api/SnapAppConfigServerApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
将现有代码从JDK11迁移到JDK8将比上述简单操作更费劲。
将Docker文件中的openjdk:8-jdk-alpine更改为openjdk:11
我使用下面的dockerfile生成一个图像调用userservice 然后我使用以下命令运行容器 所以我去检查编译的字节码版本,确实是52,我不知道为什么这个错误还是报告
我目前有一个带有docker容器的EC2,但有人告诉我,简单地运行它是不够好的,EC2容器服务可以提供更多的功能,包括自动重启docker和保持日志记录。 我试图按照文档设置EC2容器服务,但我发现命名约定相当混乱。 通过将aws ecr get-login命令从控制台粘贴到终端窗口中,检索docker登录命令,您可以使用该命令对docker客户端进行身份验证。 这个“控制台”和“终端”指的是什么
这里有几种方法可以在 AWS EC2 上安装 Docker。你可以使用 Amazon Linux , 它的软件源中已经包含了 Docker 包,或者你也可以选择其它支持 Docker 的 Linux 镜像 ,例如:标准的 Ubuntu 安装。 当然,首先你要创建一个AWS帐号。 Amazon QuickStart with Amazon Linux AMI 2014.09.1 选择一个镜像: 在你
SpringBoot项目中parent中没有默认版本的依赖如何选择版本?类如mybatis-spring-boot-starter依赖,parent中是没有默认配置的。我想请问类似这种情况如何选择合适的依赖版本呢?我在mybatis官网也没有找到相关资料,依赖的jar包中也没有,我不喜欢看网友给的资料,我还是喜欢看官网的资料,大家都是怎么选择的呢?靠经验?靠百度? 尝试过百度和查看官网,想知道对于
问题内容: Windows Server 2016 似乎内置了 Windows 上的Docker?并支持在Docker容器中运行Windows并将Windows用作Docker容器主机。这是否支持Linux?我不这么认为,我认为它仅支持运行Windows Docker容器。这似乎也由Microsoft维护。 用于Windows的Docker似乎是由Docker团队创建的单独安装,用于将Linux