在我的Docker设置中,一切都很顺利。然后我有了一些使用新Java“var”特性的代码。我在IDE中的Java版本是8,所以我把它增加到了10,这样我的代码就可以用新的“var”特性编译了。关于我的IDE,一切都很好。
我还有一个maven包装器(带有mvnw命令文件),它被打包到我的docker容器中,并且maven在我的计算机上本地安装。运行这两个“maven”的工作没问题。
总之:
但是,当我构建容器时,会出现以下错误:
#15 7.335 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project shape-shop-backend: Fatal error compiling: invalid target release: 10 -> [Help 1]
我的docker文件分为两步。
我所做的只是将“从”行从java 8更改为java 10:
FROM openjdk:8-jdk-alpine as build
FROM openjdk:8-jre-alpine
到
FROM openjdk:10-jdk-alpine as build
FROM openjdk:10-jre-alpine
我的Docker文件是:
#### Stage 1: Build the application
FROM openjdk:10-jdk-alpine as build
# Set the current working directory inside the image
WORKDIR /app
# Copy maven executable to the image
COPY mvnw .
COPY .mvn .mvn
# Copy the pom.xml file
COPY pom.xml .
# Build all the dependencies in preparation to go offline.
# This is a separate step so the dependencies will be cached unless
# the pom.xml file has changed.
RUN ./mvnw dependency:go-offline -B
# Copy the project source
COPY src src
# Package the application
RUN ./mvnw package -DskipTests
RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar)
#### Stage 2: A minimal docker image with command to run the app
FROM openjdk:10-jre-alpine
ARG DEPENDENCY=/app/target/dependency
# Copy project dependencies from the build stage
COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY --from=build ${DEPENDENCY}/META-INF /app/META-INF
COPY --from=build ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","com.shapeshop.App"]
一切都应该是java 10,所以我不知道为什么我得到了
致命错误编译:无效目标释放:10
此外,我的POM文件指向正确的版本:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>10</source>
<target>10</target>
</configuration>
</plugin>
好的,我发现了问题所在:
我犯了个愚蠢的错误。我只是没有拿起它,但基本上我的docker compose是指向我的一个旧Dockerfile(称为Dockerfile_with_mvn),它没有更新Java版本。
我使用Eclipse中的Spring仪表板创建项目。我也尝试过使用Spring初始化器创建它,并尝试了java的版本8和版本9,但我仍然得到了这个结果。还试图改变maven的目标。运行配置,maven构建使用JavaSE1。8,jre 1.8。0 命令:
我们刚刚将项目从升级到。在我的机器中构建项目时,我遇到以下错误。 [错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.3:在项目上编译(default-compile)异常:编译时出现致命错误:目标版本无效:1.8->[帮助1] 下面是所使用的maven编译器插件 我看了很多帖子,其中大多数都与没有为java_home配置正确的版本
问题内容: 类似的问题,例如在无效目标版本上发布的问题:1.7,但是在关注博客之后,我的问题仍然没有解决。 无法在项目hm_app上执行目标org.apache.maven.plugins:maven-compiler- plugin:3.1:compile(默认编译):致命错误编译:无效目标版本:1.8-> [帮助1] 遇到此问题时,我正在按照教程进行操作。 输出 问题答案: 您已将jdk 设置
我正在IntelliJ上运行一个Java Maven项目,我确保这个项目将由Java1.8编译。 而且 当我运行该项目时,我得到一个错误: 无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.0:project feed_matcher上的compile(default-compile):编译错误:无效的目标版本:1.8->[帮助1] 你知
当我试图用maven安装一个项目时,我遇到了这个错误。我看了很多帖子说这个错误是因为maven使用了另一个版本的java,但这不是我的情况(我想),因为我运行的每个命令都说使用的版本是java 1.7。 这是终端的结果: mvn的输出-版本 Java Home:< code >/Library/Java/JavaVirtualMachines/JDK 1 . 7 . 0 _ 79 . JDK/Co
当我运行这个命令时,我试图将我的后端应用程序部署到heroku bun 我得到这个错误 这是我的pom文件: