본문 바로가기
개발 관련 학습 및 문제해결

heroku 배포시 Unable to access jarfile 오류 문제[20221001 til]

by 날파리1 2022. 10. 1.

heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=makaobank-final-hoonstudio.herokuapp.com request_id=bcccd986-f150-4748-b67c-5fc8beaa0b45 fwd="58.239.3.235" dyno= connect= service= status=503 bytes= protocol=https

 

heroku 배포 오류

처음에는 H10 코드 오류로 위처럼 검색을 하니 원인이 너무 다양하고 해서 다시 오류코드를 확인했다. 위쪽쯤으로

 

 Error: Unable to access jarfile build/libs/makaoBank-0.0.1-SNAPSHOT.jar

그러니 위와 같은 오류코드가 나왔는데... 라이브러리에 위와같은 파일에 접속할 수 없다..?

 

좀 옛 글이긴 한데 

 gradle.build  파일에 아래와 같이 입력후 

jar {
    baseName = 'app'
    version = '0.0.1'
}

procfile 에 아래처럼 입력하라는 해결책 하나가 있었고

web: java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/app-0.0.1.jar

https://stackoverflow.com/questions/34228907/spring-boot-gradle-app-on-heroku-unable-to-access-jarfile

 

Spring Boot Gradle app on Heroku: Unable to access jarfile

I have a spring boot gradle app which I could run successfully on my PC by doing: heroku local It can also deploy on heroku successfully when I go: git push heroku master This is my result: Co...

stackoverflow.com

 

그외에는 

 

Instead of mvn install do mvn package to know the difference check http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Deploying a WAR file with the Heroku Maven plugin allows you to integrate the deployment process with your existing Maven process. The Heroku plugin uses the artifacts generate by your mvn package phase, and builds them into a Slug file that is uploaded to the Heroku servers.

In this way, the Heroku Maven plugin avoids the overhead of recompiling your project remotely. This is often the preferred approach when deploying from a CI server, which may already have built your WAR file and tested it.

Source: https://devcenter.heroku.com/articles/war-deployment#deployment-with-the-heroku-maven-plugin

Regarding deploying Spring Boot, there are some steps to be taken:

  • Configure port
  • web: java -Dserver.port=$PORT -jar target/demo-0.0.1-SNAPSHOT.jar
  • Specify JDK, default is 1.8 (No need to change if 1.8 is specified in Maven)

Check http://docs.spring.io/spring-boot/docs/current/reference/html/cloud-deployment-heroku.html

To execute Procfile use heroku local

뭐 mvn pacakge 를 설치해서 왜 그런지를 봐라 라고 하는게 있었는데 난 메이븐이 아니라 그레이들을 쓰므로 이건 패스...그리고 오류 코드도 접근할수 없다니깐 일단 넘기고 H10코드 오류 해결책도 많이 있어서 해보았지만 다 실패.. 

그렇게 2시간이 넘게 흐르고,,,,

 

어찌어찌 해결 그리고 내가 생각한 실패이유

 

멘붕날쯤 경로를 그냥 다시 현재 기준으로 ./ 를 추가해서

web: java -Dserver.port=$PORT -Dspring.profiles.active=production -jar build/libs/makaobank-0.0.1-SNAPSHOT.jar

에서 뒷부분을 이렇게 바꿔주었다.

./build/libs/makaobank-0.0.1-SNAPSHOT.jar

 

그러니 되는데....

 

티아이엘 쓰려면 원인을 알아야하니 다시 처음으로 돌려놓아도 된다.

 

마지막 오류 변수 요인하나

Error: Unable to access jarfile build/libs/makaoBank-0.0.1-SNAPSHOT.jar

처음 제목에 makao'B'ank 라고 되어있었는데 이건 초반에 makaobank 로 써도 안된적이있어서 이 철자 때문인가..싶은 생각이들지만 위의 경우 두가지가 다되는걸보면 아마 나중에 고친 저 철자가 가장 큰 요인이 아닐까 싶다...

 

 

댓글