簡體   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