I will try to provide as much context as possible.
Context
I have a pretty basic JHipster-generated application (Spring Boot + React, if it matters)
Node version is v20.15.0, java version is 21.
Locally, simply running ./mvnw
works, my app starts correctly, I can connect and see my database.
I have a Procfile like so:
web: java $JAVA_OPTS -Xmx256m -jar build/libs/*.jar --spring.profiles.active=prod,koyeb
My application-koyeb is this:
eureka:
instance:
hostname: formatted-for-forum-post.koyeb.app
non-secure-port: 8080
prefer-ip-address: false
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: ${JDBC_DATABASE_URL}
username: ${JDBC_DATABASE_USERNAME}
password: ${JDBC_DATABASE_PASSWORD}
hikari:
maximumPoolSize: 8
server:
port: ${PORT:8080}
I have added a post-build command inside of Koyeb to try and make it work (but it doesn’t, with or without this command):
chmod +x ./mvnw && ./mvnw -Pprod clean verify
If I don’t include this post-build command, Koyeb reports at deployment stage that java command is not found.
If I do include the post-build command, Koyeb fails at build stage saying JAVA_HOME isn’t a thing for it.
Clearly, the problem is that heroky/jvm or anything like that is not getting installed at all.
I have a pom.xml
file, a system.properties
file, mvnw
file etc. in my root folder. Sooo how come the detector isn’t detecting?
I have already tried to debug this myself by running:
pack build -B koyeb/builder formatted
on my local machine. The process gets stuck at the detection stage.
So, my question is why buildpack java/jvm
not automatically assigned as a detected needed buildpack, but most importantly, how do I fix this?
Thank you in advance for any advice you might have!