我正试图在Heroku上部署一个Spring Boot应用程序,遵循以下指南:http://codingricky.com/booting-spring-boot-into-heroku/ (谢谢Ricky )
这看起来很直截了当,但我的应用程序包含了integration.xml,这是spring-messaging依赖项所要求的:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
</dependency>尽管如此,我并不是在使用Spring Integration,而是使用websockets / STOMP消息。因此,这种依赖是必需的。
当应用程序试图引导时,我得到了一个简单的未找到的错误:
Caused by: java.io.FileNotFoundException: class path resource [integration.xml] cannot be opened because it does not exist本地integration.xml位于/src/main/resource目录中,当我从run as -> spring boot获得run as -> spring boot时,它的位置很好。
我还有一页html和一些javascript文件来调试websockets / STOMP消息,如下面的指南:https://spring.io/guides/gs/messaging-stomp-websocket/
当作为jar部署时,我需要更改什么,以便应用程序能够在/resource目录中找到这些文件?
发布于 2014-01-30 10:42:23
如果您使用Maven和默认设置构建JAR,您应该会发现"src/main/resources“中的所有内容都位于JAR的根目录中,因此,如果您使用"java -jar”运行,则会在类路径上找到所有内容。我不知道是如何运行JAR的(它是使用"java -jar“,还是它解压缩并做了一些不同的事情?)所以答案可能就在那里。
如果您可以在本地运行JAR文件,我希望它能在PaaS上运行,但是谁知道他们在运行时可能会对它做什么。
顺便说一句,“spring消息传递”不需要任何XML配置,所以您可能应该了解这一点,并尝试了解错误消息的实际来源。如果您在github中共享您的项目,那么建议您可能做错了什么会容易得多。
https://stackoverflow.com/questions/21452154
复制相似问题