当前位置: 首页 > 知识库问答 >
问题:

为什么Heroku不能在我明确告诉它的时候识别出正确的Java版本呢?

耿运浩
2023-03-14

在我的spring-maven-java项目上的Git push heroku Master时,heroku cli识别出它是一个Java项目,并尝试构建它。它打印出它正在安装JDK 1.8,在大量终端输出之后,它说[ERROR]未能执行目标org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile(default-compile)on project myproject:fatalent ERROR compiling:invalid target release:10.0.2

maven-compiler-plugin配置源和目标显式标识Heroku文档指定为可接受的Java 10.0.2,并且Java.runtime.version=10.0.2application.propertiessystem.properties

我想我需要让Heroku在一开始就安装正确的JDK。我如何让Heroku获得并使用Java10?

请参阅aso我尝试修改maven-compiler-plugin的程度:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <source>10.0.2</source>
        <target>10.0.2</target>
        <release>10.0.2</release>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <version>6.2</version>
        </dependency>
    </dependencies>
</plugin>

共有1个答案

苏彭薄
2023-03-14

在应用程序的根目录中创建system.properties文件,并将以下内容放入其中:

java.runtime.version=10.0.2

把它交给Git再推一次。更多信息请参见Heroku'd Dev Center。

 类似资料:
  • 如图所示,我在主函数之前定义了哈希函数,现在他却回答我“hash”不明确,我不理解

  • 我用LWJGL编写了一个简单的程序。问题是每次我尝试运行应用程序时,都会遇到这个错误: 该错误具有误导性,因为我确实调用了< code > glfwMakeContextCurrent(window)和< code > GL . create capabilities()。 我将错误跟踪到似乎当我删除这个和行时,应用程序将运行。 我不理解的是为什么会发生这种情况,因为我在中确实有一个GLFW 3.

  • 但是,正确的数据条目在被调用时会打印出来。我试着在网上寻找我应该做什么的答案,但我找不到任何实际可行的东西。我刚刚开始学习Java,所以可能有一个非常简单的答案,我只是忽略了。如果有人有什么想法,我将不胜感激。

  • 所以,我正在为一个班级做这个作业。这是一个Java类,我应该做一个游戏,它掷两个骰子,把它们相加,然后把它们加到你的回合分数上。然后它会问你是否想继续玩下去。当你的轮次得分达到20分,或者当你决定通过时,它会进入电脑。它应该打印每个回合的分数,然后当有人得到100分时,它就会宣布胜利者。然而,不管怎样,无论我跑了多少圈,每一圈结束时的分数都是0。当一名玩家掷1时,他们的回合分数被取消,并转移到另一

  • 所以我和这个人有几乎完全一样的问题: Maven 安装 OSX 错误 不支持的主要.minor 版本 51.0 我认为问题出在我的符号链接中。我定义了$JAVA_HOME。bash_profile和java版本正确地报告了版本。然而,出于某种原因,mvn正在尝试使用旧版本的java。 这是我机器上所有东西的列表: 我想使用1.8。和mvn来识别它。 如果我运行这个: 然后如果我跑了: 我确实注意到

  • 问题内容: 我正在创建一个小型Java Jpanel游戏,其中应该有一个火箭,它通过箭头上下移动,并通过太空射击。 触发方法应按以下方式工作:按下空格键,东西触发并在屏幕上移动,然后当它碰到某个x时,它就会消失。此外,您只能发射一次,直到另一颗子弹消失为止。 我不知道我在做什么错。首先,在我的代码启动后,您会看到子弹在屏幕上飞舞。 2,子弹没有消失。 第三,即使其他子弹仍然可见,它也允许我再次开火