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

时间:2015-07-01 21:25:21

标签: java vim javac

我正在使用GVim。我创建了一个文件Caled 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。它不打印任何东西。我查看了这篇文章:Compiling Java code in Vim more efficiently,评分最高的答案是将这些添加到我的.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”?

3 个答案:

答案 0 :(得分:1)

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

javac Example.java
java Example

答案 1 :(得分:1)

Aesthetics must either be length one, or the same length as the dataProblems:Labels编译器,不是执行者。它会将您的源代码编译成一个类文件,然后需要使用javac而不是java运行。

答案 2 :(得分:0)

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

运行java program文件