0

J'ai créé une application Java avec le framework spark-java. J'ai construit le fichier .jar, exécutez-le à partir de la ligne de commande et aller à http://localhost:4567/hello sur le navigateur. Cela a fonctionné, il n'y a pas de problème ici. Puis j'ai créé une application Elastic Beanstalk et déployé ce fichier .jar. Il a été déployé avec succès. Mais lorsque j'ai cliqué sur l'URL de mon environnement Elastic Beanstalk (http://spark-test.eu-central-1.elasticbeanstalk.com/), il a renvoyé l'erreur "502 Bad Gateway"..jar L'application Spark-Java ne s'exécute pas sur AWS Elastic Beanstalk

Je vois des questions et réponses similaires sur le web mais aucune d'entre elles n'a fonctionné. Où est le problème? Comment puis-je le résoudre?

enter image description here

Voici la classe principale:

import static spark.Spark.*; 

public class Main { 

    public static void main(String[] args) { 

     get("/hello", (req, res) -> "Hello World"); 

     get("/hello/:name", (request, response) -> { 
      return "Hello " + request.params(":name"); 
     }); 
    } 
} 

Voici pom.xml:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.myapps</groupId> 
    <artifactId>spark-test</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 

     <dependency> 
      <groupId>com.sparkjava</groupId> 
      <artifactId>spark-core</artifactId> 
      <version>2.5</version> 
     </dependency> 

     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-simple</artifactId> 
      <version>1.7.22</version> 
     </dependency> 

    </dependencies> 

</project> 

Répondre

0

Je pense que je répondre à la question semblable à celle-ci here. Dans l'autre cas c'était Tomcat et dans ton cas c'est nginx. Encore, mêmes modifications nécessaires. Essayez de voir si cela résout votre problème.

+0

Je peux l'exécuter sur Tomcat. J'ai créé le fichier .war, déployé dans l'environnement Elastic Beanstalk Tomcat et cela a fonctionné sans aucun problème. Mais je veux créer un fichier .jar, déployer et exécuter sur l'environnement Elastic Beanstalk Java. Est-il possible de créer un projet java se régulier (pas un projet d'application web java, ne pas créer et modifier web.xml), de construire un fichier .jar et de le déployer dans l'environnement Elastic Beanstalk Java? – cimenmus