[英]java application for stand alone execution and as a jar library
我想創建一個可以以兩種方式執行的Java應用程序。 作為標准的獨立應用程序,請使用main(args []),並在任何使用jar的Java應用程序中將其作為外部庫導入到其他應用程序。
我面臨的問題是我想在兩種情況下使用相同的功能。 這導致了錯誤,因為當我作為獨立應用程序執行時,我必須聲明靜態方法和變量,但是當我需要從其他應用程序訪問它時,則必須聲明為靜態。
我以前從未做過,所以我不是100%確定這是一個真正的問題。 我過去的項目一直都是靜態的。 我猜我可以將我的代碼放在兩個類中,將主代碼放在一個方法上,將每個其他方法放在另一個方法上,並使用它,因為它是一個單獨的項目。 這是正確的方法嗎?
嘗試這樣寫:
public class DoubleDuty {
// This is the main method executed using java -jar
public static void main(String [] args) {
DoubleDuty dd = new DoubleDuty();
dd.complexApplication();
}
public void complexApplication() {
// This can be executed by others who import this JAR.
}
}
新類中僅需要一個公共static main()。
main始終是靜態的,但是您的類可以具有實例。
您可以通過另一個類來調用它:
public class Class1 {
public static void main(String args[])
{
System.out.println("Class1 BEGINS !");
}
}
public class Class2 {
public static void main(String args[])
{
Class1.main(args);
// or that
Class1.main(new String[0]); beware if inside main , you read args !
}
}
當您將jar編譯為獨立時,請將開始設置為另一個類:Lauch Configuration => set Class1或Class2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.