Comme le titre l'indique, je voulais créer un environnement dans lequel l'exécution des étapes peut être effectuée uniquement avec la commande Maven.
Je n'avais pas assez de ressources pour lancer Docker ou VM, donc je ne pouvais pas attendre pour cloner, extraire et construire, mais je voulais toujours faire la vérification des variables d'exécution et la vérification des différences de version.
Donc, j'ai pensé que je devrais essayer d'utiliser l'ancien ** Codehaus Cargo (ci-après Cargo) **, donc cet article a été écrit. Je vais.
C'est un outil qui existe depuis longtemps, et le contenu est maintenant renouvelé comme "Est-ce Maven de nos jours?"
Préparez les éléments suivants à l'avance.
C'est bâclé, mais il ne s'agit que de pom.xml et du fichier de configuration Jetty. Fondamentalement, l'argument d'exécution de la commande mvn (option -D) est utilisé pour faire n'importe quoi.
Pour le moment, l'exemple d'application qui ouvre simplement la source de données ** org.codehaus.cargo: datasource-war ** fonctionnera avec la commande suivante.
git clone https://github.com/Piecemeal-Technology-Inc/cargo-jetty-launcher.git
cd cargo-jetty-launcher
mvn initialize compile cargo:run
Si vous accédez à http: // localhost: 8081 / change-context-root / test avec votre navigateur, vous verrez "Got connection!". La racine de contexte est contrôlée par context.path dans pom.xml.
Lancez VSCode et générez Java launch.json avec "Run" - "Add Configuration". Par conséquent, ajoutez la configuration suivante aux configurations.
launch.json
{
"type": "java",
"name": "Debug (Remote 9990)",
"request": "attach" , //Spécification de débogage à distance
"projectName" : "cargo-jetty-launcher",
"hostName": "localhost",
"port": 9990, // pom.débogage xml.Match avec la propriété du port
//Ajouter un chemin de référence à la source créée sous la cible
"sourcePaths": [
"${workspaceFolder}/target/sources-datasource-war.1.7.11/main",
"${workspaceFolder}/target/sources-datasource-war.1.7.11/dependency"
]
}
Maintenant que la préparation est terminée, vous pouvez exécuter les étapes en définissant un point d'arrêt et en démarrant le débogueur.
※Mise en garde ** C'est le résultat d'essais et d'erreurs, donc je ne pense pas que ce soit fondamentalement la théorie. ** ** Si vous utilisez une source de données intégrée ou n'incluez pas la propre extension de Jetty, ce n'est pas grave si vous le faites normalement comme officiellement.
Comme il est généralisé dans une certaine mesure avec des arguments d'exécution, il peut être facilement déclenché en préparant une commande pour chaque application que vous souhaitez déclencher. De plus, comme il n'a aucune substance telle que le code source, l'environnement d'exécution peut être étendu dans PJ sous une forme légère.
Je pensais écrire cette histoire parce que j'étais vraiment dans Cargo, mais je ne pense pas qu'il y ait de demande, alors je vais l'omettre pour le moment.
En premier lieu, le war et le source-jar à exécuter doivent se trouver dans le référentiel local ou distant. Si vous ne déboguez pas, vous n'avez pas besoin de source-jar, juste la guerre.
Recommended Posts