繁体   English   中英

Vim - 当我运行 Java 文件时,似乎没有执行 println 语句

[英]Vim - When I run my Java file, the println statements don't seem to be getting executed

我正在使用 GVim。 我创建了一个名为 InsertionSort.java 的文件,这是文件中的内容:

public class InsertionSort {
    public static void main (String[] args) {
        System.out.println("Hello World");
    }
}

然后我打开终端并做了

sudo apt-get install default-jdk

安装javac。 接下来,我回到 GVim 并做了:

:!javac %

运行当前文件。 当我这样做时,它说:

!javac /Documents/Java/InsertionSort.java
Press ENTER or type command to continue

当我按 ENTER 时,它返回到 InsertionSort.java。 它不打印任何东西。 我看了这篇文章: 在 Vim 中更有效地编译 Java 代码,并且评价最高的答案说要将这些添加到我的 .vimrc 文件中:

autocmd Filetype java set makeprg=javac\ %
set errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
map <F9> :make<Return>:copen<Return>
map <F10> :cprevious<Return>
map <F11> :cnext<Return>

将上述行添加到我的 .vimrc 文件后,我重新打开 GVim / InsertionSort.java 并按 F9 并显示:

!javac Documents/Java/InsertionSort.java 2>&1| tee /tmp/vcqcE1x/8

:copen

Press ENTER or type command to continue

当我按下 ENTER 时,它打开了一个新的 GVim 文件,名为:

[Quickfix List] :javac Documents/Java/InsertionSort.java

并且该文件中没有任何内容(它没有说“Hello World”)。 如何让它运行文件以显示“Hello World”?

我认为您可能混淆了javajavac程序。 javac*.java源文件编译为*.class字节码文件。 java获取编译后的*.class字节码文件并运行它们。 因此,如果您的目标是编译和运行名为Example.java的文件,则需要执行以下操作:

javac Example.java
java Example

javac编译器,而不是执行器。 它将您的源代码编译成一个类文件,然后需要使用java而不是javac运行。

如果您的系统有 jdk,您应该可以使用javac program.java编译您的 java 文件javac program.java当您的 java 文件成功编译后,JVM 会将 java 文件转换为.class文件。 现在您可以使用java program运行您的.class文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM