Java 使用文本编辑器和命令行的开发工作流

Java Development Workflow with Text-Editor and Commandline

我想开始使用 Java!我在 C/C++ 和 Python 开发方面有一些经验。为此,我主要使用 Emacs(一种文本编辑器)和命令行,因此不会对这类事情使用较重的权重 IDE。

我不想调整我的工作流程以适应 IDE,但我不知道 Java 中的工作流程(编写、构建、测试)所以我想在这里问问.搜索网络没有给我很好的结果。

谁能告诉我根据我的要求开发 Java 时的基本工作流程?我使用 Linux 进行所有编程。 我的 requirements/wishes 是否实用,或者我应该考虑使用 IDEA 或 Eclipse 之类的东西?

有人可以指点我有关此主题或文档的文档或博客文章,以快速概述 and/or 如何开始使用 Java 的示例(适合有一点经验的程序员在其他语言中)?

For this I'm mainly using Emacs (a text editor) and the commandline, thus not using a heavier weight IDE for those kind of things.

IDE 与文本编辑器相比有很多优点,主要是在导航、调试和重构代码时,但这不是必需的。实际上,在没有 IDE 的情况下工作有助于理解底层技术。我的建议是:从没有 IDE 开始,当一切正常时,尝试一些 IDE 看看它们如何帮助你。

Can someone give me the the basic workflow when developing Java with my requirements?

基本工作流程是(对于任何编译语言):

  1. 编写源代码
  2. 建造
  3. 运行

在Java的情况下,这意味着:

1 编写源代码

您在文本编辑器中编写 .java 个文件,观察正确的文件系统布局(文件名 = class 名称,目录对应包等)。你已经知道了。

2 编译代码

您使用 Java 编译器编译代码,可能构建 JAR 或 WAR 文件(取决于您正在编写的应用程序类型)。您可以通过直接调用 javac 手动执行此操作(请参见 Java - compile from command line - external jar ), but you should really use a build tool. The best tool to get started is probably Apache Maven or Gradle.

Maven 和 Gradle 的基本思想相同:您编写一个构建文件,它基本上描述了您的项目以及如何编译它(对于 Maven,是一个 POM 文件,一个 build.xml for Gradle), 然后你可以通过调用构建工具来构建。构建工具负责处理所有细节问题,例如调用 javac 等。最重要的是,两者还执行 依赖解析 ,这意味着它们可以自动下载和使用您在其中使用的库你的代码。

3 运行

最后,您 运行 从命令行运行程序。如何做到这一点取决于程序的类型:一个简单的可执行文件(或 Spring 启动应用程序)可以通过 运行 使用 java -jar myprog.jar,一个 WAR 文件必须部署到一个 Servlet 容器(例如 Apache Tomcat)。


我希望这能对 我如何在没有 IDE 的情况下进行开发? 有一个大致的了解。有关详细信息,请在 Whosebug(或其他地方)上查找具体问题,阅读文档,如果都失败,请在此处提出更具体的问题:-)。

您应该直接下载 IntelliJ:

  • static import 这样的某些最佳实践可以让您的代码更具可读性,因为您阅读代码时非常聪明 IDE。如果您仅使用 vim 阅读代码,则无法在 类 之间导航。
  • 您可以轻松访问终端并在此处执行某些 Maven 或 Gradle 命令。

我不会对其他语言说同样的话 (css, html)。

我同意@sleske 的观点:如果你真的想学习这门语言,最好从文本编辑器开始。稍后您可以使用 IDE 但到那时您将了解构建过程的工作原理以及 IDE 究竟在做什么。编码没有魔法。如果某件事有效但你不明白为什么,它肯定有一天会失败:)

也许一些不错的功能:我使用 Eclipse 并添加了一个 vim plugin :) 如果您学习了一些有用的快捷方式,您可以非常快速地编写代码(无需鼠标)