J'ai créé une application Spring Boot en utilisant Gradle. J'ai écrit sur la procédure pour déployer ceci sur AWS EC2.
Créer un fichier jar exécutable avec la tâche bootJar de gradle Référence: https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/gradle-plugin/reference/html/#packaging-executable-and-normal
build.gradle
bootJar {
launchScript()
}
Puis sur la ligne de commande
$ gradle bootJar
Une fois exécuté, un fichier jar est créé dans ./build/libs/
Le fichier jar créé cette fois est nommé WebToDoStarter-0.0.1-SNAPSHOT.jar et est placé sur le bureau.
Transférez ce fichier vers EC2 en utilisant sftp
$ sftp -i Chemin d'accès à la clé AWS ec2-user@IP publique IPv4
sftp> put Desktop/WebToDoStarter-0.0.1-SNAPSHOT.jar
Uploading Desktop/WebToDoStarter-0.0.1-SNAPSHOT.jar to /home/ec2-user/WebToDoStarter-0.0.1-SNAPSHOT.jar
Desktop/WebToDoStarter-0.0.1-SNAPSHOT.jar 100% 20MB 1.2MB/s 00:17
$ ssh -i Chemin d'accès à la clé AWS ec2-user@IP publique IPv4
Vérifiez si le fichier a été transféré
$ ls
WebToDoStarter-0.0.1-SNAPSHOT.jar
Il y a
Essayez d'installer java8
$ sudo yum install java-1.8.0-openjdk-devel.x86_64
$ java -jar WebToDoStarter-0.0.1-SNAPSHOT.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/example/demo/WebToDoApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
C'est une erreur, apparemment la version est ancienne en java8
Version du fichier de classe | Version JRE |
---|---|
49 | Java 5 |
50 | Java 6 |
51 | Java 7 |
52 | Java 8 |
53 | Java 9 |
54 | Java 10 |
55 | Java 11 |
56 | Java 12 |
57 | Java 13 |
58 | Java 14 |
$ sudo yum search java
============================================================================ N/S matched: java =============================================================================
~ abrégé ~
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
~ abrégé ~
java-11-amazon-corretto.x86_64 : Amazon Corretto development environment
java-11-amazon-corretto peut être utilisé jusqu'à java11
$ sudo yum install -y java-11-amazon-corretto.x86_64
Vous ne pouvez pas simplement l'installer
$ sudo alternatives --config java
Il y a 2 programmes'java'Fournir.
Sélectionnez la commande
*+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.amzn2.0.1.x86_64/jre/bin/java)
2 /usr/lib/jvm/java-11-amazon-corretto.x86_64/bin/java
Appuyez sur Entrée pour sélectionner le[+]Ou entrez le numéro de sélection:2
$ java --version
openjdk 11.0.7 2020-04-14 LTS
OpenJDK Runtime Environment Corretto-11.0.7.10.1 (build 11.0.7+10-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.7.10.1 (build 11.0.7+10-LTS, mixed mode)
Maintenant tu peux le faire
Tomcat, qui est un conteneur de servlet pour exécuter Java Servlet, n'a pas besoin d'être installé cette fois. En effet, il est déployé avec un fichier jar qui peut être exécuté par le Tomcat intégré.
$ java -jar WebToDoStarter-0.0.1-SNAPSHOT.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.1.RELEASE)
application.yml
server:
port: 8081
Ajouter
Recommended Posts