Failed to build app with Maven, I can run code locally, but fail to deploy on heroku

后端 未结 2 1378
北荒
北荒 2020-12-19 03:48

This is my code in github: https://github.com/q463746583/CS4500-Assignment2 I can run it successfully in the local, but while I try to deploy the code on heroku, There is th

2条回答
  •  爱一瞬间的悲伤
    2020-12-19 04:31

    I think this has to do with a mismatch between your targeted Java runtime environment on Heroku and your locally compiled code, generated from the Maven compiler, which you're trying to push to Heroku.

    According to Heroku's documentation:

    Heroku currently uses OpenJDK 8 to run your application by default. OpenJDK versions 9 and 7 are also available.

    Other supported default versions are:

    • Java 7 - 1.7.0_181
    • Java 8 - 1.8.0_191
    • Java 9 - 9.0.4
    • Java 10 - 10.0.2
    • Java 11 - 11

    So you should make sure that within your pom.xml file that your maven compiler is compiling your JAVA code to the appropriate JAVA buildpack you're targeting on Heroku. For example, below we are targeting a Java 7 runtime environment:

    pom.xml:

    
        org.apache.maven.plugins
        maven-compiler-plugin
        3.1
        
            1.7
            1.7
        
    
    

    Then you should create a system.properties file in your project if you're targeting a runtime environment other than Heroku's default JDK 1.8 runtime environment. You can do this by specifying your desired java runtime environment like such:

    system.properties:

    java.runtime.version=11
    

    TLDR:

    1. Ensure you're using the appropriate JAVA JDK
    2. Check that your target environment from the Maven compiler is the same as your targeted Heroku JAVA runtime.
    3. If you're not using the default JAVA 8 JDK runtime environment create a system.properties file in your project specifying a different supported JAVA runtime enviroment as listed within Heroku's JAVA buildpack documentation.

    Hopefully that helps

提交回复
热议问题