java - Heroku 编译 fatal error : invalid target release: 11

标签 java spring-boot maven heroku

我在 Heroku 中遇到致命编译错误:目标版本无效:11 错误。我的应用程序使用 11.0.14 SDK,该版本在 Heroku 官方网站 https://devcenter.heroku.com/articles/java-support 中列出。作为受支持的版本。

我创建了一个 system.properties 文件并在其中设置版本:

java.runtime.version=11.0.14

还在 pom.xml 中添加了 Heroku 插件,并在各处指定了正确的 Java 版本:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.group</groupId>
    <artifactId>app</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>app</name>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>2.6.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
                <executions>
                    <execution>
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>
      <plugin>
        <groupId>com.heroku.sdk</groupId>
        <artifactId>heroku-maven-plugin</artifactId>
        <version>3.0.3</version>
        <configuration>
          <processTypes>
            <web>java $JAVA_OPTS -cp target/classes:target/dependency/app</web>
          </processTypes>
          <appName>app</appName>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>11</source>
          <target>11</target>
        </configuration>
      </plugin>
        </plugins>
    </build>

</project>

仍然没有任何改变,在本地它可以工作,但我在 Heroku 上不断收到此错误。我还能做什么?

最佳答案

Heroku 建议设置主要版本

java.runtime.version=11

这将解析为支持的 11.0.14.1,请参阅 Heroku Java versions .

注意:文件 system.properties 必须位于存储库的根目录中。

关于java - Heroku 编译 fatal error : invalid target release: 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71763260/

相关文章:

maven - project.build.finalName 不适用于部署文件目标

java - 如何将 Swagger codegen Java 模型生成为 JPA 实体

java - Struts2日期标签显示工作日,如Wed, 13 Feb, 2013 9 :00 AM

java - Maven 生成源/注释

spring-boot - 有没有办法自动创建 Docker Image?

spring-boot - 如何在spring boot 2中配置netty

java - native 查询返回 Spring Boot 中 #pageable 的所有记录

Java : How to convert java. lang.String 到 ISO 8859-1 格式

java - 选择不能在任何服务器上运行

Maven 原型(prototype) : Modify artifactId