2017-07-24 18 views
0

我對編碼相當陌生,但我在實習中獲得了一個微型項目來幫助實現我正在進行的過程的自動化。我知道在Java中這樣做的一個相當簡單的方法,但唯一的問題是從這個程序中受益的人在他們的計算機上沒有IDE。如何在不包含IDE的計算機上運行Java程序?

基本上,我的問題是如何在沒有IDE的計算機上運行在Eclipse上創建的程序(儘管它有最新的JRE更新)。我只是真的在教室的封閉箱子裏進行編程,所以我從來沒有遇到過這個問題,似乎也找不到在線答案。我只需要解釋如何在沒有IDE的情況下訪問並使用程序。

+1

將其編譯爲字節碼,然後在遠程計算機上執行它(對於java,使用JVM,java [.exe])。請記住,大多數電腦沒有IDE。 – AntonH

+0

創建一個可運行的JAR文件。 – GriffeyDog

+2

創建一個可執行文件。在你的情況下,因爲你使用的是Java,所以一個選項是在你的計算機上從IDE創建一個可執行的.jar文件。然後把你的文件放在其他計算機上,他們將能夠執行它(只要它們安裝了適當的java框架)。編碼不是每個人都有IDEs ......恰恰相反!您正在爲非開發人員編寫代碼。 –

回答

1

您需要打包並在jar文件中共享您的代碼。 A jar文件將在安裝了JRE的任何計算機上運行。

有關如何使用Eclipse做一個簡潔的信息,請訪問:Creating and sharing a JAR

1

「大廈」可以是一個相當大的問題。首先我假設你安裝了JDK或JRE,並且正確地運行。如果你不這樣做,那麼查看它本身就是一個問題。得到的東西的工作,試試這個:

創建一個名爲 「MyClass.java」,看起來像這樣的Java文件:

  • 的javac MyClass的:在同一目錄下

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

    類型的.java

  • 的java MyClass的

第一個命令創建一個文件MyClass.class來自MyClass.java。第二個執行MyClass.class。如果這不起作用,則可能需要添加「-cp」。到java命令。

這是絕對最簡單的情況,當你添加包時它變得更加複雜 - 你開始需要多個目錄和一個更真實的類路徑。希望得到一些工作後,你會有一個基線,你可以從中找出其餘的。

PS。這樣做只是爲了測試,你應該總是把你的java類放在包裏,而不是像我剛剛那樣使用「Default」包 - 我只是爲了簡化第一次運行的目錄佈局而做的。

編輯:關於尋路

您的路徑必須包含你的JDK的bin目錄。對於我們的迷你測試,您可以完全路徑javac和java(如果您的jdk位於c:\中,它永遠不會是c:\ jdk \ bin \ javac)。

爲了更簡單的解決方案,您可以將其添加到您的路徑或建立一個批處理文件。當我正在開發一個小文件的應用程序通常只寫一點點.CMD批處理文件或UNIX shell腳本,做下列步驟操作:

  • 設置路徑(如路徑=%路徑%; .. 。JDK \ BIN)(視窗)
  • 編譯文件(javac命令我上面給)
  • 運行文件(上面的java命令)

這樣一來,至少在開發過程中,我不不會改變系統的路徑(批處理文件和shell腳本路徑更改在退出時被丟棄),並且由於我大部分都是測試,所以始終使用javac重建並不是真的相對昂貴。

如果您創建沒有「javac」步驟的第二個批處理文件/腳本,它將會更快(每次不會編譯),並且可以用於實際「運行」完成的應用程序。

這是簡化的「構建系統」的開始。如果使用包,則必須爲包含文件的每個目錄發出javac命令(要一次構建整個目錄,應該可以使用javac * .java)。

從長遠來看,這並不能很好地擴展,人們開始使用像Ant,Maven和Gradle這樣的更大的構建系統(按照優先級遞增的順序),但對於小型單包部署,批處理文件是可以接受的。

+0

我收到錯誤 「'javac'未被識別爲可操作的程序或批處理文件。」 當我運行「javac HelloWorld.java」和錯誤 「Error:找不到或加載主類HelloWorld」 當我運行「java HelloWorld」時 –

+0

JDK bin目錄必須是在你的類路徑中,並且必須包含java.exe和javac.exe。我會在解決方案中添加一個註釋。 –

相關問題