2014-01-30 6 views
0

나는이 가이드 다음 Heroku가에 Spring Boot 응용 프로그램을 배포하려고 시도하고있다 : http://codingricky.com/booting-spring-boot-into-heroku/ (감사 리키 임)봄 부팅

그것은 꽤 똑바로 앞으로 보이지만, 내 응용 프로그램이 필요로 integration.xml을 포함

말했다되고 그건
<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-messaging</artifactId> 
    </dependency> 

, 내가 Spring Integration를 사용하지 않는 단지/STOMP 메시지 WebSocket을 다음 spring-messaging 의존성에 의해. 그래서 의존성이 필요합니다. 앱에서 부팅을 시도 할 때

나는 간단한 찾을 수없는 오류가 발생합니다 :

Caused by: java.io.FileNotFoundException: class path resource [integration.xml] cannot be opened because it does not exist 

로컬 integration.xml/src/main/resource 디렉토리에 미세한 위치하는 경우 I 이클립스에서 run as -> spring boot. 내가 그렇게 앱이 /resource 디렉토리 때 이러한 파일을 찾을 수 변경해야 할 무엇 https://spring.io/guides/gs/messaging-stomp-websocket/

:

또한 여기에 가이드와 같은 HTML의 한 페이지 및 디버그 WebSocket을 일부 자바 스크립트 파일/STOMP 메시지가 항아리로 전개 되었습니까?

+2

사이드 노트 : 블로그의'main()'메소드는'application.properties'의'server.port = $ {PORT : 8080}'으로 대체 될 수 있습니다. –

답변

2

Maven과 기본 설정을 사용하여 JAR을 빌드하는 경우 "src/main/resources"의 모든 항목이 JAR의 루트에 있으므로 "java -jar"로 실행하는 경우 classpath에 있어야합니다. . 나는 Heroku buildpack이 JAR을 실행하는 방법을 모른다 ("java -jar"를 사용합니까? 아니면 압축을 풀고 다른 것을합니까?) 그래서 대답이있을 수 있습니다.

JAR 파일을 로컬에서 실행할 수 있다면 PaaS에서 작동 할 것으로 예상되지만 런타임에 무엇을 수행하고 있는지 알 수 있습니다.

BTW, "spring-messaging"은 XML 구성을 필요로하지 않으므로이를 살펴보고 실제로 오류 메시지의 출처를 이해해야합니다. github에서 프로젝트를 공유하는 경우 잘못한 일을 제안하는 것이 훨씬 쉬울 것입니다.

+0

감사합니다. Dave! 그게 이상하다고 생각 했어요. 이전에 스프링 통합을 시도한 것을 제거한 후에도 모든 것을 새로운 프로젝트에 복사했지만, 여전히 일어났습니다. –

+0

Github에'complete' 예제를 업로드했습니다 : https://github.com/jordanbaucke/spring-boot-websocket-heroku 기초로 사용할 수 있도록'integration.xml' 오류가 없습니다. 그 문제를 해결하십시오! 방금이 댓글을 수정했습니다. 나는 초기 질문에서 당신의 제안을 잘못 입력했다! 그것은 포트와로드를 찾습니다! –

+0

내 파일 중 하나에서'integration.xml'에 대한 참조를 발견했습니다! –