Právě jsem vytvořil Hello World Spring Boot aplikaci s pouze jeden koncový bod a podařilo se mi nasadit na heroku jako válka.
Sledoval jsem to nasadit to jako válka: https://devcenter.heroku.com/articles/war-deployment
Ale chápu, 404, když jsem přístup mé aplikace :
2021-11-23T21:36:46.508498+00:00 heroku[web.1]: Idling
2021-11-23T21:36:46.510524+00:00 heroku[web.1]: State changed from up to down
2021-11-23T21:36:47.140592+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2021-11-23T21:36:47.335504+00:00 app[web.1]: Nov 23, 2021 9:36:47 PM org.apache.coyote.AbstractProtocol pause
2021-11-23T21:36:47.335511+00:00 app[web.1]: INFO: Pausing ProtocolHandler ["http-nio-38859"]
2021-11-23T21:36:47.517653+00:00 heroku[web.1]: Process exited with status 143
2021-11-24T05:37:19.104697+00:00 heroku[web.1]: Unidling
2021-11-24T05:37:19.535273+00:00 heroku[web.1]: State changed from down to starting
2021-11-24T05:37:22.936676+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -jar webapp-runner.jar ${WEBAPP_RUNNER_OPTS} --port 16691 ./target/demo-0.0.1-SNAPSHOT.war`
2021-11-24T05:37:23.919640+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2021-11-24T05:37:23.924573+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2021-11-24T05:37:24.285669+00:00 app[web.1]: Expanding demo-0.0.1-SNAPSHOT.war into /app/target/tomcat.16691/webapps/expanded
2021-11-24T05:37:24.285690+00:00 app[web.1]: Adding Context for /app/target/tomcat.16691/webapps/expanded
2021-11-24T05:37:24.749035+00:00 app[web.1]: Nov 24, 2021 5:37:24 AM org.apache.coyote.AbstractProtocol init
2021-11-24T05:37:24.749046+00:00 app[web.1]: INFO: Initializing ProtocolHandler ["http-nio-16691"]
2021-11-24T05:37:24.768181+00:00 app[web.1]: Nov 24, 2021 5:37:24 AM org.apache.catalina.core.StandardService startInternal
2021-11-24T05:37:24.768185+00:00 app[web.1]: INFO: Starting service [Tomcat]
2021-11-24T05:37:24.769185+00:00 app[web.1]: Nov 24, 2021 5:37:24 AM org.apache.catalina.core.StandardEngine startInternal
2021-11-24T05:37:24.769186+00:00 app[web.1]: INFO: Starting Servlet engine: [Apache Tomcat/9.0.30]
2021-11-24T05:37:24.904948+00:00 app[web.1]: Nov 24, 2021 5:37:24 AM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
2021-11-24T05:37:24.904952+00:00 app[web.1]: INFO: No global web.xml found
2021-11-24T05:37:25.237869+00:00 heroku[web.1]: State changed from starting to up
2021-11-24T05:37:30.896421+00:00 app[web.1]: Nov 24, 2021 5:37:30 AM org.apache.catalina.core.ApplicationContext log
2021-11-24T05:37:30.896430+00:00 app[web.1]: INFO: 1 Spring WebApplicationInitializers detected on classpath
2021-11-24T05:37:31.008521+00:00 app[web.1]: Nov 24, 2021 5:37:31 AM org.apache.jasper.servlet.TldScanner scanJars
2021-11-24T05:37:31.008525+00:00 app[web.1]: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2021-11-24T05:37:31.041498+00:00 app[web.1]: Nov 24, 2021 5:37:31 AM org.apache.coyote.AbstractProtocol start
2021-11-24T05:37:31.041500+00:00 app[web.1]: INFO: Starting ProtocolHandler ["http-nio-16691"]
2021-11-24T05:37:31.424445+00:00 heroku[router]: at=info method=GET path="/" host=demorares.herokuapp.com request_id=b510219f-853c-4082-bcca-ef0723a0fcda fwd="86.120.154.120" dyno=web.1 connect=0ms service=5664ms status=404 bytes=864 protocol=https
Také jsem viděl, že když jsem vždycky nasazení war souboru se zobrazí chyba (když jsem spustit heroku válka:nasazení <path_to_war_file> --aplikace <jmeno_aplikace>):
Exception in thread "Thread-0" java.lang.RuntimeException: Failed to delete
C:\Users\Rares\AppData\Local\Temp\heroku-deploy2171663334171038805
at com.heroku.sdk.deploy.DeleteDirectoryRunnable.run(DeleteDirectoryRunnable.java:46)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.nio.file.FileSystemException: C:\Users\Rares\AppData\Local\Temp\heroku-deploy2171663334171038805\heroku\app\.heroku-deploy: The process cannot access the file because it is being used by another process.
Ale já si to po sestavení je úspěšně nasazen na Heroku.
Tady je můj kód:
Pružina Regulátoru:
@RestController
public class Controller {
@GetMapping("/test")
public String test() {
return "IS WORKING";
}
}
POM:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example.test</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
HEROKU:
Build succeeded
Yesterday at 11:01 PM · View build log