Hej alla pojkar och flickor. Innan har det bloggats hÀr om The Hundred Kilobytes Kernel (HK2). För de som har missat HK2 och vad det Àr sÄ ser jag till att citera en liten förklaring innan jag gÄr vidare:
”The java.net project ”Hundred Kilobytes Kernel” (HK2) is a module subsystem coupled with a simple yet powerful component model to build software. It is a great technology to use in any Java software development and can be used in small devices such as phones up to enterprise applications. HK2 is designed to be friendly to existing technologies such as OSGi but it will also provide a path to the implementation of modules (JSR 277) in Java SE 7. HK2 is used as the foundation for GlassFish V3.”
Now to the action. Jag ska skapa en modul helt frĂ„n scratch. Du mĂ„ste ha maven2 för detta. OBS! denna tutorial Ă€r vĂ€ldigt mycket ”for dummies” sĂ„ du kan sĂ€kert hoppa över vissa saker :) .
down to biz.
1. I din ”shell”, skriv ”mkdir temp” och sedan ”cd temp”
2. dĂ€refter skriver du ”mvn archetype:create \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=temp”
sedan trycker du sjĂ€lvklart pĂ„ din ”return” knapp (dvs ”enter”) och sen vĂ€ntar den korta tiden som det tar för maven att generera upp ett projekt Ă„t dig.
3. skriv gedit/notepad/vi för att editera din pom.xml och anvÀnd sunt förnuft för att fÄ den att se ut ungefÀr sÄ hÀr:
http://www.helloworlds.net/temp/temp/pom.xml
4. Skapa dÀrefter filerna
Animal.java = > http://www.helloworlds.net/temp/temp/src/main/java/com/mycompany/app/Animal.java
Pig.java = > http://www.helloworlds.net/temp/temp/src/main/java/com/mycompany/app/Pig.java
Start.java = > http://www.helloworlds.net/temp/temp/src/main/java/com/mycompany/app/Start.java
5. GĂ„ tillbaks till projektets ”rootkatalog” och skriv ”mvn hk2:hk2-compile” följt av ”mvn hk2:run”
Det kan se ut sÄ hÀr:
bash-3.00$ mvn hk2:run
[INFO] Scanning for projects…
[INFO] Searching repository for plugin with prefix: ‘hk2′.
[INFO] —————————————————————————-
[INFO] Building temp
[INFO] task-segment: [hk2:run]
[INFO] —————————————————————————-
[INFO] [hk2:run]
2007-jul-26 07:27:56 com.sun.enterprise.module.maven.MavenProjectRepository loadModuleDefs
INFO: Loading modules list from /export/home/ferid/temp/temp/pom.xml
ModuleStartup phase
Oink, oink
[INFO] ————————————————————————
[INFO] BUILD SUCCESSFUL
[INFO] ————————————————————————
[INFO] Total time: 2 seconds
[INFO] Finished at: Thu Jul 26 07:27:56 CEST 2007
2007-jul-26 07:27:56 com.sun.enterprise.module.ModuleClassLoader stop
INFO: ModuleClassLoader stopped com.mycompany.app:temp
2007-jul-26 07:27:56 com.sun.enterprise.module.ModuleClassLoader finalize
INFO: ModuleClassLoader gc’ed com.mycompany.app:temp
2007-jul-26 07:27:56 com.sun.enterprise.module.ModuleClassLoader stop
INFO: ModuleClassLoader stopped com.mycompany.app:temp
[INFO] Final Memory: 3M/8M
[INFO] ————————————————————————
bash-3.00$
Nu har vi precis anvÀnt oss av samma teknik som Glassfish V3 anvÀnder sig av, för att göra en HelloWorld applikation. RÀtt coolt tycker jag!
Vill ni veta mer om hur allt fungerar och hÀnger ihop, Àr ni vÀlkomna till nÀsta JavaForum eller JavaZone dÀr vi i Är kör en presentation om HK2.
tjena!