简体   繁体   中英

Spring boot + angular 2 Heroku deployment

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.

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.

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

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

Once installed, run:

$ yo jhipster

Then run

$ yo jhipster:heroku

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM