Hello World With JBoss Modules
JBoss Modules是一個(gè)相當(dāng)有趣的項(xiàng)目,他在Jboss應(yīng)用服務(wù)器和Jboss生態(tài)系統(tǒng)項(xiàng)目中扮演者重要的角色。但是,網(wǎng)上關(guān)于Jboss Modules的東西卻很少。甚至Jboss Modules的官方文檔都是不完整的,更別提教程了。關(guān)于他你能在網(wǎng)上找到的最好的資料也就是介紹如何在Jboss 服務(wù)器中應(yīng)用JBoss Modules。
由于我在網(wǎng)上沒(méi)有找到一個(gè)Jboss Modules的Hello World程序,所以我決定自己寫一個(gè)。
下載Jboss Modules
在http://www.jboss.org/上,你無(wú)法直接找到JBoss Modules。獲取Jboss Modules有兩種方法,第一種是從?Bintray?或者?Maven 倉(cāng)庫(kù)中下載。第二種就是拿到源碼之后自己編譯。
還有呢,就是下載一個(gè)項(xiàng)目,其中包含jboss-modules.jar的也行。比如WildFly。
Hello World
一個(gè)古老而又偉大的Hello World代碼:
public class Main { public static void main(String[] args) {new Hello().say(); } }上面的代碼中用到了Hello類,這個(gè)類將會(huì)包含在另外的模塊中:
public class Hello { public void say() { System.out.println("Hello!"); } }我們將上面的兩個(gè)不同的類、編譯后的class文件以及jar包放到不同的模塊下面。我們使其符合Jboss Modules的規(guī)范,大致結(jié)構(gòu)如下圖:
如上圖所示,Main類在app模塊中,Hello類在hello模塊中,每個(gè)模塊還需要一個(gè)module.xml文件。關(guān)于文件的具體編寫規(guī)范可以參考module命名規(guī)范和module文件可用標(biāo)簽。(JBoss Modules 模塊描述文件解析)
app模塊中的module.xml文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.5" name="app"> <main-class name="Main"/> <resources> <resource-root path="main.jar"/> </resources> <dependencies> <module name="hello"/> </dependencies> </module>它制定了main-class為Main,指定該模塊的classpath為main.jar。并且說(shuō)明該模塊依賴了hello模塊。
hello模塊中的module.xml文件內(nèi)容和上面類似:
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.5" name="hello"> <resources> <resource-root path="hello.jar"/> </resources> </module>好了!現(xiàn)在我們可以執(zhí)行新的模塊化的“Hello World”應(yīng)用程序了:
java -jar jboss-modules-1.5.1.Final.jar -mp mods app控制臺(tái)輸出內(nèi)容:Hello!
通過(guò)java -jar jboss-modules-1.5.1.Final.jar開(kāi)始運(yùn)行該程序,通過(guò)-mp mods指定要運(yùn)行的模塊的名字。
這個(gè)例子不是很實(shí)用,但至少它給了我們一些關(guān)于如何開(kāi)始使用JBoss Module的提示。希望,有一天,這個(gè)很棒的項(xiàng)目會(huì)有完善的文檔,會(huì)有更多的教程。
from:https://www.hollischuang.com/archives/1825
總結(jié)
以上是生活随笔為你收集整理的Hello World With JBoss Modules的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用JBoss Modules来模块化J
- 下一篇: 入门 Webpack,看这篇就够了