Ao fazer deploy para o Heroku Maven não reconhece jdk no Spring boot

Consigo gerar war, rodei no tomcate via deploy, local e tudo, mas quando tento fazer o deploy no heroku aparece o erro

Desde ontem estou tentando de tudo, usei source e target, mudei a versão do jdk, tentei forçar a versão do compilador do maven, nada muda apenas o numero que vem depois do “target: release”, no meu javac -v, java -v e mvn -v acusam a versão 11.0.7, pesquisei aqui no guj e nada do que resolver nos outros tópicos funcionou pra mim…

Meu pom atualmente está assim:

<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.3.2.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>testegroup</groupId>
	<artifactId>TesteAprendizado</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>TesteAprendizado</name>
	<description>Teste Curso de spring boot</description>

	<properties>
		<java.version>11</java.version>
		<maven.test.skip>true</maven.test.skip>
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-rest</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>


	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<source>11</source>
					<target>11</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

O que achei estranho é que a versão do maven no erro está 3.8.1, mas no meu mvn -v está a 3.6.3, tentei mudar isso também, mas o spring boot não permite, alguém tem ideia do que possa ser?

Alguém com um problema parecido?

Vc consegue executar comandos no heroku? Se sim, qual a saída do comando: java -version ?

1 curtida

Sim, pelo cmd do windows loguei no heroku, crei o projeto, mas na hora de dar o push aparece o erro “Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project TesteAprendizado: Fatal error compiling: invalid target release 11 -> [Help 1]”, a versão do java que aparece no java -version é o 11.0.7, mas ja coloquei essa também e o erro permanece…

Tenta a solução desse cara: https://stackoverflow.com/questions/53604111/heroku-cannot-deploy-java-11-spring-boot-app

Nunca usei heroku, por isso não consigo ajudar mais =/

1 curtida

Galera que passar por esse mesmo problema, seguinte, tirem todas as referência a versão do pom.xml, por algum motivo o heroku tem a versão padrão dele (que é a 1.8) e não aceita nenhuma outra, não adianta mudar versão no maven, baixa jdk, reza braba, nada vai adiantar, a solução que achei foi deixar o heroku usar a padrão dele e depois reinserir a 11.0.7 (que é a minha).

1 curtida

bom dia!

pra quem esta passando por esse erro basta apenas criar um arquivo chamado system.properties
e dentro dele coloque essa informação java.runtime.version=11