Acabo de crear un Hola Mundo en la Primavera de Inicio de la aplicación con sólo un extremo y me las arreglé para implementar en heroku como una guerra.
He seguido este para implementarlo como una guerra: https://devcenter.heroku.com/articles/war-deployment
Pero me da error 404 cuando puedo acceder a mi app :
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
También he visto que cuando yo siempre desplegar la guerra de archivo me aparece un error (cuando ejecuto heroku guerra:implementar <path_to_war_file> --app <app_name>):
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.
Pero me sale esto después de la compilación se implementa con éxito en Heroku.
Aquí está mi código:
La Primavera Controlador:
@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