簡體   English   中英

創建基於模塊/包的項目?

[英]Creating module / package based project?

我想用Java創建一個項目,將該項目作為自身其他部分的外殼,盒子或控制器(可能為其命名)。 我希望能夠在程序安裝后加載其他程序部分,例如插件或附加組件,或者如何調用它們。

例如,可以想到一個名為Calculator的程序,該程序的頂部具有MenuBar,從而可以加載幾個JFrame(或JInternalFrame),這些JFrame提供不同的計算方式,例如ListSums,InvoiceSums,BreakEvenCalculator,...(等等)。

現在,我要創建的是一種遮罩,使我可以導入帶有天氣計算的新JInternalFrame。 從字面上添加幾個菜單項和一組新的蒙版。 好吧,這種插件或插件應該從我提供的鏈接中下載。

我已經嘗試過使用谷歌搜索某些方法來做到這一點,但是我不確定要搜索什么。

是否有任何網站提供有關如何創建這樣的插件或附加組件的信息?

提前為每個樂於助人的靈魂歡呼!

由於您的問題不是很具體,所以不確定我是否理解正確,但是無論如何我都會嘗試回答。

我猜想您想在運行時動態加載Java代碼(無需重新啟動/重新編譯程序)。

因此,有一些不同的方法可以實現這一目標:

1.自己的“框架”

您將創建一個通用GUI,該GUI能夠動態地動態生成GUI元素。 然后,您可以通過自己的DSL或XML在模塊中定義模塊。 然后根據您的定義生成GUI,您可以動態加載。 我曾經用它來自動生成一個GUI,用戶可以在其中創建自己的動態報告,而用過一次的通用安裝程序工具可以在一個案例中創建一個帶有簽出項目的新工作區,並在tomcat中構建和部署並運行一個webapp。

優點:

  • 易於入門
  • 您知道代碼(因為您已經編寫了代碼)

缺點:

  • 很具體
  • 因為它僅支持您編程到框架中的內容,所以很耗時
  • 如果您不了解自己的工作/需求改變/ ...,您可以輕松開發錯誤代碼。

2.使用一些執行引擎 (例如RhinoNashorn(Java 8)

您可以使用JS開發模塊,也可以從某些模塊生成GUI(如1.中所述)-在Swing GUI的情況下,甚至從JS創建輸出(在WebApp的情況下,也可以這樣做)因為它只是打印html)

優點:

  • 您可以執行引擎/模塊語言支持的所有操作
  • 您比使用1更靈活。
  • 需要更少的時間

缺點:

  • 需要了解發動機的工作原理
  • 啟動不如1.容易,因為您有更多的外部依賴項
  • 您受到引擎限制的限制(在js的情況下,例如沙箱,例如默認情況下不寫入文件,不進行任何秋千集成/交互...)

3. OSGi / Spring DM服務器

您也可以使用自己的打包程序在Java中創建模塊,並使用OSGi即時將其部署到您的應用程序中。

如果您希望將其用於Web應用程序,我將研究Spring dm Server: http : //static.springsource.com/projects/dm-server/1.0.x/programmer-guide/html/ch03s02.html

否則,OSGi應該更合適。

由於關於這兩個主題的文檔很多,因此在這里我不會做更多的介紹。

優點:

  • 您可以做所有事情,因為您的模塊將只是java
  • 您使用Java完善的標准機制

缺點:

  • 需要了解框架的工作原理
  • 啟動不如1.或2那樣容易,因為您將必須了解所使用的技術
  • 更多的外部依賴

如果我的回答對您有所幫助,如果您接受我會很高興,如果不能接受,請提供更詳細的信息,說明您想要實現什么以及您的要求是什么。

問候,曼努埃爾

暫無
暫無

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

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