我有In
包從Princeton加載到我的文件相同的目錄,我編譯它。在java中導入本地庫錯誤
而且,我在我的代碼中使用該包。但是,當我以某種方式使用import In;
時,我仍然遇到錯誤?
這個愚蠢的問題的解決方案是什麼?
我有In
包從Princeton加載到我的文件相同的目錄,我編譯它。在java中導入本地庫錯誤
而且,我在我的代碼中使用該包。但是,當我以某種方式使用import In;
時,我仍然遇到錯誤?
這個愚蠢的問題的解決方案是什麼?
爲了解決這個問題,您需要添加一個與您的包相同的In.java
的包聲明(然後簡單地省略您的導入語句),或者(我的建議)您需要添加包聲明到In.java
這是不同於您的包(並將其移動到相應的文件夾),然後通過您提供它的包的名稱導入In
。
爲了使這更加具體:
添加以下的In.java
頂部:
package edu.princeton.cs.introcs.in;
然後/移動到相應的「學科/普林斯頓/ CS/introcs在「 目錄。 (創建它,如果它不存在)。
然後,在你的文件,它的限定名導入:
import edu.princeton.cs.introcs.in.In;
需要注意的是,在上述兩種情況下,你需要編譯In.java連同您的使用它的代碼(或者你需要首先編譯In.java,並確保它在編譯你的代碼時使用它),並且在運行時,你需要將In.class與你的代碼捆綁在一起(例如在您生成的JAR)或類似地保證在執行編譯代碼時該類的字節碼(包含.class文件或包含.class文件的JAR)位於類路徑中。
爲什麼你推薦第二個?第一個似乎更容易,除非我不正確地理解它... – Candic3
我沒有一個名爲'edu/princeton/cs/introcs/in'的目錄,所以我不知道該放哪裏文件。在過去,我只是將我需要的所有文件放在與我自己寫的文件相同的目錄中。 'edu/princeton/cs/introcs/in'是否是任意的?或者它必須在這條確切的道路上? – Candic3
我建議,因爲包是Java中的隔離單元,通常只有相關的文件應該放在同一個包中。目錄結構必須與包名稱匹配。所有的文件都應該有一個與它們相關的包,並且與你調用Java編譯器的目錄相關的目錄應該與包名相匹配。 –
您鏈接到的代碼沒有包。
只要刪除import In
,並在代碼的某個地方創建一個實例In myIn = new In(myUrl);
,你應該很好。
或者,修改「In.java」的副本,並將其與您用於其他代碼的包相同。
請查看代碼中的main()
,瞭解如何使用「In」類的示例。
'In'不是一個包,它是一個類。 –