[英]Is there a way to export java functions to other packages within a library, but not to users of the library?
[英]Java Packages/Library Functions
我正在嘗試為一個主要的Java程序創建一個庫函數包,但是我遇到了一些問題。
我對Java軟件包了解不多,並且正在在線觀看一些紀錄片。
我已經這樣創建了我的目錄
./Program/Program.java
./Program/TestFunc.java
./Program/classes/library/
TestFunc.java的內容是
package library;
public class TestFunc {
public void message01() {
System.out.println("called message01");
}
public void message02() {
System.out.println("called message02");
}
}
我在閱讀文檔時對其進行了編譯
javac -d ./Program/classes TestFunc.java
這給了我
./Program/classes/library/TestFunc.class
然后我嘗試在Program.java中調用它
import library.*;
public class Program {
public static void main(String[] args) {
System.out.println("Starting Script");
}
}
當我嘗試使用
javac -d ./Program/classes Program.java
我得到錯誤
package library does not exist
為什么是這樣?
您已經使用了-d
來表示將輸出放置在何處,但是您沒有告訴它在類路徑中的輸入也應使用相同的目錄。 為此,請使用-cp
選項:
javac -d classes -cp classes Program.java
(目前尚不清楚是否你想從里面做這個Program
目錄,或者在它上面-你的源文件名看起來是內部Program
目錄,但你指定的輸出目錄,如果你在上面的目錄。 ..)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.