簡體   English   中英

在Linux中運行Java程序

[英]running a java program in linux

我試圖在Linux環境中運行Java程序。 該程序的結構如下。

src(目錄)

  • 主(目錄)

    -test.java

  • 普通(包裝)

    -一個Java

    -b.java

Test.java是我的主程序。

我使用以下命令從src目錄級別運行該程序。

javac -cp“ ../../lib/netcdf.jar:/common/*.java” main / test.java

我收到與找不到包通用包相關的錯誤,並且找不到它下面的所有類。

你能幫我解決這個問題嗎?

謝謝

Java不會擴展glob( * ),除非它是路徑的唯一的最后一部分(在這種情況下,它會擴展到所有jar文件)。 已經有一段時間了,但是我相信您應該可以完全不使用*.java-cp "../../lib/netcdf.jar:common" )。 看來您在使用/common ,這會使它在系統根目錄中查找一個名為common的文件夾。

這里有一些問題。

首先,javac在類文件(.class)中編譯您的代碼。 它不運行代碼,而是將源代碼轉換為可以運行的形式。

編譯代碼時,所有.java文件都應根據其包進行結構化。 因此,您不能隨意決定將某些Java文件放在一個文件夾中,而將某些Java文件放在另一個文件夾中。 例如,如果一個Java文件指定“ package com.mycompany”,而您的src目錄指定為src,則該Java文件必須位於“ / src / com / mycompany”中。

在您的代碼中,當您需要引用已經編譯成.class文件的其他代碼(通常是外部庫)時,可以指定類路徑 (這就是為什么要這樣稱呼)的原因。 注意,為清楚起見,我將重復此操作,這不是針對.java文件,而是針對.class文件。 有時,許多.class文件會打包在一起,形成一個存檔文件,稱為Java存檔或“ jar ”。

還要注意,在unix系統上,“ / common”是絕對路徑 如果需要相對路徑,則應指定“ ./common”。

此外,類路徑分隔符為“;” 不是“:”。

因此,總而言之,如果您的java文件均未指定顯式包,只需將所有.java文件放在同一目錄中(我建議使用./src)。 然后從src目錄運行javac -sourcepath ./src *.java或僅運行javac *.java

這里還有更多有關管理源文件和類文件的信息

我使用以下命令編譯並運行了它

javac -classpath'。:../../ lib / *'main / test.java

來源: http : //en.wikipedia.org/wiki/Classpath_%28Java%29

  1. 打開終端
  2. 鍵入java
  3. 顯示一些包裹
  4. 您安裝此軟件包
  5. 現在安裝的Java包
  6. 現在輸入java
  7. 鍵入javac
  8. 鍵入appletviewer
  9. 您創建一個新目錄=> md arivu
  10. cd arivu
  11. gedit ex.java
  12. 現在保存
  13. 返回碼頭
  14. 編譯: javac ex.java
  15. 運行: java ex
  16. 圖形代碼:
    • javac ex.java
    • appletviewer ex.java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM