[JAVA] Préparer l'environnement d'exécution de Tomcat dans IntelliJ Community

Préparer l'environnement d'exécution de Tomcat dans IntelliJ Community

Remarque: cet article concerne la création d'un projet Tomcat (JavaEE) dans la communauté IntelliJ (version gratuite). Si vous utilisez Ultimate (version payante), veuillez utiliser les sites suivants. De plus, l'environnement est supposé être Windows 10.

Installation d'IntelliJ

Je suis désolé, mais je pense que l'installation de IntelliJ est expliquée à l'infini, je vais donc l'omettre. Si vous avez du mal à trouver vous-même un site de commentaires, veuillez vous référer au lien ci-dessous.

Installer Tomcat

Tomcat n'est pas nécessaire pour le développement, mais si vous voulez qu'il fonctionne comme un serveur, vous pouvez l'installer. De plus, nous laisserons l'explication au site suivant.

Créer un projet

Après avoir lancé IntelliJ, cliquez sur Créer un nouveau projet. Sélectionnez Gradle dans la sélection du type de projet sur la gauche. Version JDK telle qu'introduite dans Site Est spécifié. Sélectionnez Suivant et entrez le nom du projet dans l'ID d'artefact. Vous pouvez laisser la version telle quelle. Sélectionnez Suivant et cochez Importation automatique pour continuer. Appuyez sur Terminé pour terminer.

Divers réglages

Les paramètres IntelliJ peuvent être ouverts à partir de Fichier → Paramètres.

Génération automatique du répertoire source

Construire, exécuter, déployer → Outils de construction → Gradle crée automatiquement un répertoire racine de contenu vide En cochant la case, le répertoire source sera créé automatiquement.

Activer l'affichage de survol pour javadoc

Cochez Afficher les documents rapides en déplaçant la souris sous Autres sous Editeur → Général. Cela permet d'afficher les informations de code (javadoc) simplement en pointant le curseur comme Eclipse.

Installation du ply-in

Vous pouvez installer le plying in à partir du paramètre plying in. Mise en forme du code au google-java-format et vérification du format du code en [CheckStyle-IDEA](https: // https) Nous vous recommandons d'installer (: //plugins.jetbrains.com/plugin/1065-checkstyle-idea).

paramètres build.gradle

Il existe un fichier appelé build.gradle directement sous le dossier du projet, alors ouvrez-le. Vous pouvez configurer l'encapsuleur Gradle pour utiliser une distribution avec une source. Il fournit à l'EDI la documentation Gradle API / DSL. Est affiché, OK, appliquez la suggestion! Je pense que vous devriez sélectionner. (Je ne comprends pas)
Maintenant, configurons pour créer une application Tomcat dans ce projet. Voir ci-dessous pour les fichiers .gradle.

En outre, pour la syntaxe de Groovy (format de script décrit dans le fichier .gradle), reportez-vous à ce qui suit.

Tout d'abord, vous devez avoir généré un code similaire au suivant.

plugins {
    id 'java'
}

version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

Ajout de plying in

Ajoutez l'id aux plugins ici.

plugins {
    id 'java'
    //Un pig-in qui vous permet de faire la guerre à votre projet
    id 'war'
    //Un pig-in qui peut lancer Tomcat en un clic
    id "org.akhikhl.gretty" version "2.0.0"
}

Au fait, veuillez vous référer à ce qui suit pour le fichier war et chaque plug-in.

Ajout de l'API utilisée uniquement au moment de la compilation

Bien qu'il soit fourni dans l'environnement d'exécution, il n'est pas possible de compiler un programme serveur sans l'API JavaEE. Par conséquent, dans les dépendances, spécifiez la bibliothèque à référencer uniquement au moment de la compilation.

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    //Spécifiez la bibliothèque à utiliser uniquement au moment de la compilation.
    compileOnly 'javax:javaee-api:8.0'
}

Spécification de la version du serveur

Un plugin appelé gretty peut démarrer deux types de serveurs: Jetty (https://www.eclipse.org/jetty/) et Tomcat (http://tomcat.apache.org/). .. Pour l'utiliser réellement, ajoutez le code suivant.

gretty {
    //Ici, Jetty/Spécifiez Tomcat et sa version.
    servletContainer = 'tomcat8'
}

Pour connaître la version qui peut être spécifiée dans Servlet Container, consultez le site here.

Spécifiez le nom du fichier war à générer

Ensuite, spécifiez le nom de fichier du fichier war généré par le plug-in war. Il n'est pas nécessaire de le spécifier séparément, alors sautez-le si vous n'en avez pas besoin.

war {
    archiveName = 'Hoge.war'
}

Spécification du code de caractère

Pour modifier le code de caractère au moment de la compilation, ajoutez les deux phrases suivantes.

compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'

Ici, UTF-8 est spécifié. Cependant, s'il est laissé tel quel, les caractères peuvent être déformés lors de la communication ou de la lecture d'un fichier externe. Modifiez également le code du caractère au moment de l'exécution. Ajoutez ce qui suit à l'intérieur de getty.

gretty {
    servletContainer = 'tomcat8'
    jvmArgs = ['-Dfile.encoding=UTF-8']
}

La chaîne spécifiée pour jvmArgs est ajoutée en option lorsque java est exécuté.

Ceci termine la modification du fichier de paramètres. Le résumé est présenté ci-dessous.

plugins {
    id 'java'
    id 'war'
    id "org.akhikhl.gretty" version "2.0.0"
}

version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compileOnly 'javax:javaee-api:8.0'
}

compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'

gretty {
    servletContainer = 'tomcat8'
    jvmArgs = ['-Dfile.encoding=UTF-8']
}

war {
    archiveName = 'Hoge.war'
}

Méthode d'exécution

Sélectionnez Affichage → Fenêtre Outils → Gradle pour afficher la liste des tâches Gradle? Quelque chose comme ça sortira. Vous pouvez démarrer Tomcat en double-cliquant sur Tâches → gretty → tomcat Exécuter dedans. Lorsque vous le démarrez avec cela, vous pouvez également l'utiliser avec le bouton d'exécution en haut à droite. Enregistrez le nom du projet [tomcatRun] dans la liste déroulante à gauche de la marque ▷ afin de pouvoir le rappeler plus tard. Si l'élément dans [] est autre chose, exécutez tomcatRun une fois et réessayez.

Bonus (génération de guerre)

Il existe une tâche appelée war dans la construction dans les tâches, donc lorsque vous l'exécutez, le projet war sera généré sous forme de fichier war. Plus précisément, le fichier de classe, etc. est stocké dans le dossier généré appelé build, et le fichier war est placé dans les bibliothèques de build.

En plaçant le fichier war dans webapps dans le répertoire d'installation de Tomcat, vous pouvez vous y référer avec le nom de fichier http: // IP: Port / war lors de l'exécution de Tomcat.

Postscript (introduit gretty qui peut utiliser Tomcat 9)

Le getty obtenu par la procédure ci-dessus n'était disponible que pour les versions jusqu'à Tomcat8, j'ai donc recherché celui qui peut utiliser Tomcat9.

Gretty-gradle-plugin (GitHub) ・ Gretty documentation (Site officiel)

Supprimez org.akhikhl.gretty de plagins et ajoutez l'instruction suivante:

apply from: 'https://raw.github.com/gretty-gradle-plugin/gretty/master/pluginScripts/gretty.plugin'

De plus, si vous obtenez une erreur indiquant que gretty.plugin est introuvable lors de l'exécution, comme dans un réseau avec ssh restreint, vous pouvez également l'exécuter par la méthode suivante.

A problem occurred evaluating root project 'Hoge'.
\> Could not get resource 'https://raw.github.com/gretty-gradle-plugin/gretty/master/pluginScripts/gretty.plugin'.
   \> Could not HEAD 'https://raw.github.com/gretty-gradle-plugin/gretty/master/pluginScripts/gretty.plugin'.
      > Connect to raw.github.com:443 [raw.github.com/151.101.72.133] failed: Connection timed out: connect

(Déclaration d'erreur)

Tout d'abord, téléchargez gretty.plugin qui apparaît dans l'instruction d'erreur. Après l'avoir placé dans le même répertoire que build.gradle, définissez-le comme suit au lieu de apply from added plus tôt.

apply from: 'gretty.plugin'

Postscript (il est devenu possible de spécifier avec des plugins)

Il peut être exécuté simplement en spécifiant l'id dans les plugins comme indiqué ci-dessous.

build.gradle


plugins {
    id 'java'
    id "org.gretty" version "2.3.0"
}

Autres articles pouvant être utiles dans le développement Java EE

Recommended Posts

Préparer l'environnement d'exécution de Tomcat dans IntelliJ Community
Tomcat, contexte, paramètres de débogage dans la communauté IntelliJ
Préparez l'environnement CentOS 8 avec Sakura VPS
Format de la sortie du journal par Tomcat lui-même dans Tomcat 8
Accédez au fichier war dans le répertoire racine de Tomcat
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Définissez l'URL racine lors du démarrage de Tomcat avec intelliJ
SSL dans l'environnement local de Docker / Rails / puma
Installer en spécifiant la version de Django dans l'environnement Docker
Environnement Docker Module Nuxt axios pour définir baseURL
Examiner les informations système de l'environnement d'exploitation AWS Lambda en Java
Implémentation du traitement asynchrone dans Tomcat
Ordre de traitement dans le programme
Définition des variables d'environnement de projet avec intelliJ
Exécutez Redmine dans l'environnement local de Windows10 Pro-Use Docker Desktop pour Windows
Comment changer la valeur d'une variable à un point d'arrêt dans intelliJ
Le secret du succès d'IntelliJ IDEA
L'identité des paramètres de rails [: id]
Implémentation du traitement asynchrone compatible multi-tenant dans Tomcat
Préparer l'environnement de format pour "Rails" (VScode)
Préparer l'environnement de contrôle de sécurité pour Rails 6
Création d'un servlet dans l'environnement Liberty
J'ai essayé la bibliothèque AutoValue avec Intellij
L'histoire de l'écriture de Java dans Emacs
[Rails] Réinitialisez la base de données dans l'environnement de production
Ecrire le mouvement de Rakefile dans le runbook
Préparez un environnement de développement Nuxt (web) + Laravel (API) dans le même référentiel à l'aide de docker-compose
Soyez prudent avec la mise à niveau si vous utilisez | etc. dans l'URL Tomcat
Définir la source de l'ensemble de bibliothèques en tant que dépendance dans IntelliJ en tant que module distinct du projet
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot
[Order method] Définit l'ordre des données dans Rails
Le contenu de useBodyEncodingForURI a-t-il changé par rapport à Tomcat8?
L'histoire de la comparaison de chaînes de bas niveau en Java
L'histoire de la fabrication d'un Othello ordinaire à Java
À propos de l'idée des classes anonymes en Java
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
Préparer l'environnement de développement de langage JVM avec WSL
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
Améliorer les performances de l'environnement de développement Docker
Ressentez le passage du temps même à Java
Création d'un environnement de développement à l'aide d'IntelliJ IDEA + Maven + Tomcat 9
Importer des fichiers de la même hiérarchie en Java
J'ai essayé d'utiliser le profileur d'IntelliJ IDEA
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]
Pour ceux qui souhaitent utiliser MySQL pour la base de données dans la construction de l'environnement de Rails6 ~.
Comment utiliser git avec la puissance de jgit dans un environnement sans commandes git