Java + jdb + maven dans vim / emacs: Comment puis-je le faire?


Je suis nouveau dans le monde java. Depuis un an, je fais du développement C#/C/C++ dans vim sous linux, et j'ai vraiment grandi pour l'aimer. Dotnet-cli était génial à utiliser, et, bien qu'il n'y ait pas de débogueur C# dans linux jusqu'à ce qu'un soit intégré dans vscode récemment, le codage et l'exécution dans eclipse étaient assez faciles.

Les questions que j'ai vues poser ALORS comment faire du développement java dans vim / emacs ont toutes refusé de répondre à en répondant à la question{[5] } et se concentrent plutôt sur essayer de convaincre la personne à abandonner et à utiliser unE. Eh bien, pour des raisons de compréhension, ce n'est tout simplement pas une option. Certains tests fonctionnent dans IntelliJ, certains dans eclipse et certains I ont besoin de pour passer à la ligne de commande.

Je me demande, j'ai entendu parler de jdb en tant que débogueur de ligne de commande. Nous utilisons maven comme outil de construction. Malgré une documentation claire, je n'ai pas encore vu comment exécuter un test individuel dans maven en utilisant -Dtest=TestClassName#testActualTestCase. Il semblerait que c'est vraiment la seule chose qui m'. À l'aide de jdb serait extrêmement agréable aussi bien. Est-ce que quelqu'un sait comment utiliser jdb avec maven dans la ligne de commande? Un autre bon à avoir serait la complétion de code pour java dans emacs ou vim (je ne suis vraiment pas difficile... Je vais utiliser les deux car ils sont tous les deux géniaux, mais je préfère vim pour l'édition quotidienne car il est tellement léger).

MODIFIER: non... Je ne veux pas utiliser Eclim. Je n'ai spécifiquement besoin que d'exécuter des tests, du code et de modifier du texte. Rien fantaisie.

Author: Zach Folwick, 2016-05-20

2 answers

Cela fait des années que j'ai utilisé vim pour le développement, donc je vais me concentrer sur la partie Emacs.

Actuellement, il existe quatre options pour le développement Java dans Emacs: meghanada, jdee, ensime, eclim. J'avais au moins joué avec tout le monde. Malheureusement, tous ont certaines bizarreries et je ne peux pas vraiment recommander l'un d'eux pour un développement Java sérieux.

Cependant si vous voulez essayer avec Emacs. Je pense que Meghananada donnerait le meilleur coup. Il n'est pas assez mature, mais prend déjà en charge l'auto-complétion, la vérification de la syntaxe et exécute des tests junit. Il analysera également automatiquement les projets maven et gradle. L'expérience globale est suffisamment fluide pour les projets de petite et moyenne envergure. Le support de refactoring est toujours dans sa liste de tâches.

Jdee est solide mais un peu obsolète. Il ne comprend pas certaines fonctionnalités modernes de java (annotation par exemple). L'interface d'achèvement est maladroite. Et les gens prétendent qu'il est difficile de installer.

Ensime est mon choix pour le développement de Scala. Il a un support limité pour java mais ne semble pas bien jouer avec maven ou gradle.

En ce qui concerne le débogage, realgud a un support expérimental pour jdb et meghananada a une fonctionnalité pour s'y connecter. Bien que je ne l'ai jamais fait fonctionner.

 1
Author: Jun Zhang, 2017-09-25 10:10:48

Vous devriez jeter un oeil à eclim. Il vous permet de vous connecter à eclipse via vim et de l'utiliser pour la construction, le débogage et l'achèvement du code. Il peut également exécuter des tests junit. Il est possible d'exécuter un test individuel en plaçant votre curseur quelque part dans une méthode de test et en exécutant une commande vim. Je ne l'ai jamais utilisé en conjonction avec maven ou jdb, mais la documentation eclim ou google group pourrait être en mesure d'aider si vous décidez d'emprunter cette voie.

 0
Author: Danny, 2016-05-20 19:05:47