Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java+;jdb&x2B;vim/emacs中的maven:我怎么做?_Java_Maven_Vim_Emacs_Jdb - Fatal编程技术网

Java+;jdb&x2B;vim/emacs中的maven:我怎么做?

Java+;jdb&x2B;vim/emacs中的maven:我怎么做?,java,maven,vim,emacs,jdb,Java,Maven,Vim,Emacs,Jdb,我是java世界的新手。在过去的一年里,我一直在用linux中的vim进行C#/C/C++开发,并逐渐爱上了它。dotnetcli非常好用,尽管直到最近在vscode中内置了C#调试器,linux中才有C#调试器,但在eclipse中编码和运行还是相当容易的 我所看到的关于如何在vim/emacs中进行java开发的问题都拒绝回答这个问题,而是专注于试图说服人们放弃并使用IDE。出于理解的原因,这根本不是一个选择。一些测试工作在intelliJ中进行,一些在eclipse中进行,还有一些我需要下

我是java世界的新手。在过去的一年里,我一直在用linux中的vim进行C#/C/C++开发,并逐渐爱上了它。dotnetcli非常好用,尽管直到最近在vscode中内置了C#调试器,linux中才有C#调试器,但在eclipse中编码和运行还是相当容易的


我所看到的关于如何在vim/emacs中进行java开发的问题都拒绝回答这个问题,而是专注于试图说服人们放弃并使用IDE。出于理解的原因,这根本不是一个选择。一些测试工作在intelliJ中进行,一些在eclipse中进行,还有一些我需要下拉到命令行

我想知道,我听说jdb是一种命令行调试器。我们使用maven作为构建工具。尽管有清晰的文档,我还没有看到如何使用
-Dtest=TestClassName#testActualTestCase
在maven中运行单个测试。看来这是唯一阻碍我前进的东西。使用jdb也会非常好。有人知道如何在命令行中将jdb与maven结合使用吗?另一个很好的选择是在emacs或vim中完成java代码(我真的不挑剔……我将使用这两种语言,因为它们都很棒,但我更喜欢vim进行日常编辑,因为它非常轻量级)


编辑:没有。。。我不想使用Eclim。我只需要运行测试、编写代码和编辑文本。没什么特别的。

你应该看看。它允许您通过vim连接到eclipse,并使用它进行构建、调试和代码完成。它还可以运行junit测试。可以通过将光标放在测试方法中的某个位置并运行vim命令来运行单个测试。我从未将它与maven或jdb结合使用过,但是如果您决定走这条路,eclim文档或可能会有所帮助。

我使用vim进行开发已经多年了,因此我将重点介绍Emacs部分

目前,Emacs中有四种Java开发选项:、、。我至少和他们每个人都玩过。不幸的是,所有这些都有某些怪癖,我真的不能将它们推荐给严肃的Java开发

但是,如果您确实想尝试使用Emacs。我觉得Meghanada会给你最好的机会。它还不够成熟,但已经支持自动完成、语法检查和运行junit测试。它还将自动解析maven和gradle项目。对于小型和中型项目,总体经验足够流畅。不过,重构支持仍在待办事项列表中

Jdee是可靠的,但有点过时。它不理解java的一些现代特性(例如注释)。完成界面很笨重。人们声称它很难安装

Ensime是我对Scala开发的选择。它对java的支持有限,但似乎不能很好地与maven或gradle配合使用


至于调试,它对jdb有实验性的支持,meghanada有一个连接到它的特性。尽管我从来没有让它工作过。

我无法为您的问题提供任何支持,但是,如果一些东西在IntelliJ中工作,而另一些东西在Eclipse中工作,并且两者都不能正常工作,那么在我看来似乎有一些问题需要解决,在考虑设置类似于IDE的命令行之前,可能应该先解决这些问题。如果一个新成员加入了你的项目,并且他想要使用一个普通的IDE(绝对不是一个不合理的请求),该怎么办?另外,我不知道IDE是如何影响测试通过/失败的。这不应该发生。不管怎样,这就是我的想法。祝你好运。@Ironcache-我是新来的。我刚刚花了3天时间调试了一个本质上是“eclipse糟透了。使用IntelliJ。有时当POM脏了/有重复引用/小精灵/…”的东西时,eclipse会感到困惑。我完全同意你的看法-需要解决一些问题,但我已经完成了编辑器大战。java社区的立场是认真的,没有IDE它就不能工作吗?这似乎是一个微不足道的请求……我的观点不是说它“没有IDE就不能工作”,而是说它应该在没有IDE的情况下工作。如果有人想纯粹通过vim/emacs进行开发,那么它应该是可行的。如果有人想纯粹通过Eclipse进行开发,那么它应该是可行的。我认为你的追求是有效的,如果你觉得自己在那种环境中发展得更好。我只是说,在特定的IDE中,事情不起作用这一事实给我带来了危险。不过,为了帮助解决实际问题,当您尝试运行单个maven测试时,什么失败了?嗯,这并不是不合理的。vim-D不起作用吗?“我所看到的关于如何在vim/emacs中进行java开发的问题都拒绝回答这个问题,而是专注于试图说服人们放弃并使用IDE。”他提供了一种“在vim/emacs中进行java开发”的方法。这是对这个问题的回答。事实上,它是从Eclipse上背下来的,这绝对是一个折衷方案,可能不适合您的需要,但我认为他不应该因为试图提供帮助而被否决……我还尝试过其他方法在Vim中维护Java项目,比如使用Syntastic、Ant和各种自动完成插件的复杂设置。这很快就变得复杂起来,因为你需要手动跟上多少运动部件。使用Eclim完成代码和样式检查对我来说是一个很好的折衷方案(我仍然使用ant进行构建和运行)。在没有eclim的情况下,你可以做你想做的事情,但是你的设置在很大程度上取决于你正在处理的项目的设置方式。@ZachFolwick ironcache danny,当你因为eclipse的限制而不得不调试时,它对你没有任何好处。如果每个人都能按一下按钮就好了,但那是业余时间。