Spring boot + angular 2 Heroku deployment

橙三吉。 提交于 2021-02-06 09:31:09

问题


I have a big issue. I'm trying to deploy Spring Boot + Angular 2 web app on heroku but don't know how to do it. I tried several things including:

  • Making a .war file and deploying it to heroku (source here)

  • Deploying project as standard java application (source here)

but none of these worked. The first attempt didn't work because I constatly got 404 not found, and the second one didn't work due to, I think, some jar file wasn't found in the location which was described in the Procfile. Can anyone give me a link, an example, or write a step by step instruction how to achieve this. Thank you.


回答1:


The most simple way to do it:

  1. run ng build in angular 2 project root (if you are using angular-cli) and copy the content of dist folder to src/main/resources/static/.
  2. create Procfile (for maven):

    web: java $JAVA_OPTS -Dserver.port=$PORT -jar target/*.jar

  3. commit and push changes.

    Also, you need spring-boot-starter-web present in dependencies. Which has embedded tomcat and automatically configured to serve static content from the static folder.




回答2:


If you deploy your app as a standard Java application, you can combine it with the Node.js buildpack to run ng build during the Heroku build.

$ heroku buildpacks:add heroku/nodejs
$ heroku buildpacks:add heroku/java
$ git push heroku master

The Node.js buildpack will detect your package.json, install Node.js and run npm. Then the Java build can proceed as normal.

There is a guide for doing something very similar but with Grunt: Using Grunt with Java and Maven to Automate JavaScript Tasks




回答3:


Use JHipster: https://jhipster.github.io

Once installed, run:

$ yo jhipster

Then run

$ yo jhipster:heroku


来源:https://stackoverflow.com/questions/44831611/spring-boot-angular-2-heroku-deployment

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!