Java EE projeleri oldukça sıkıcıdır. En azından ilk kurulum söz konusu olduğunda. Ve hepimiz bunu tekrar tekrar yapıyoruz. Maven ve Adam Bien eserleriyle bu biraz daha kolaylaştı, ancak yine de bazı açılardan hantal olmaya devam ediyor. En geç bir şeyin hızlı bir şekilde eklenmesi veya çıkarılması gerektiğinde.
JBoss Forge, bu sorunu çözmek ve çeşitli Java projelerinin yönetilebilirliğini geliştirmek için oluşturuldu. Bir komut satırı aracı olarak doğdu, şimdiden Eclipse’e, JBoss Geliştirici Araçları’na ve son zamanlarda IntelliJ’e entegre edildi. Forge, aylık yayınlarıyla ikna eder ve böylece daha birçok gelişmeyi garanti eder. 2.8.0.Final üç gündür mevcut.
Küçük bir gösteri projesi
Başlamanın en hızlı yolu, doğrudan komut satırı sürümünü (ZIP, 64 MByre) indirmektir. Herhangi bir dizine basitçe açılır. Bu dizin artık FORGE_HOME. Sıradaki bu FORGE_HOME/bin yola ve tabii ki ortam değişkeni de Java_HOME ayarlanmış olmak Her ikisi de yapılırsa, Forge’u başlatın:
mesajı taklit et
(Resim: Markus Eisele)
Birkaç komutla bir proje oluşturulur:
[demo]$ project-new --named Haberler
***SUCCESS*** Project named 'Haberler' has been created.
Ardından bir “Konuşmacı” JPA varlığı eklendi:
[Haberler]$ jpa-new-entity --named Speaker
***SUCCESS*** Persistence (JPA) is installed.
***SUCCESS*** Entity org.Haberler.model.Speaker created
Ve üç yeni özellik eklendi:
[Speaker.java]$ jpa-new-field --named vorname
***SUCCESS*** Field vorname created
[Speaker.java]$ jpa-new-field --named nachname
***SUCCESS*** Field nachname created
[Speaker.java]$ jpa-new-field --named twitter
***SUCCESS*** Field twitter created
Sonuç, Unix benzeri “ls” komutuyla genel bakışta herhangi bir zamanda görüntülenebilir:
[Speaker.java]$ ls
[fields]
id::java.lang.Long
nachname::java.lang.String
twitter::java.lang.String
version::int
vorname::java.lang.String
[methods]
equals(java.lang.Object)::boolean
getId()::java.lang.Long
getNachname()::java.lang.String
getTwitter()::java.lang.String
getVersion()::int
getVorname()::java.lang.String
hashCode()::int
setId(java.lang.Long)::void
setNachname(java.lang.String)::void
setTwitter(java.lang.String)::void
setVersion(int)::void
setVorname(java.lang.String)::void
toString()::java.lang.String
Hala eksik olan, açıkça bir yüzeydir. Elbette Forge, karşılık gelen bir “İskele” temel çerçevesi de oluşturabilir:
scaffold-generate --targets net.eisele.demo.model.Speaker
Uygun varlığı seçtikten sonra, hepsi bu. Şimdi her şeye dosya düzeyinde bakarsanız, basit bir Maven projesi bulacaksınız. Derslerde Forge referansı yoktur. Seçtiğiniz IDE’de kolayca açılabilir veya komut satırı aracılığıyla oluşturulabilir ve elbette herhangi bir Java EE 6 sunucusunda konuşlandırılabilir.WildFly ile test ettim:
Forge ile Haberler Mini Uygulaması
(Resim: Markus Eisele)
Forge çok daha fazlasını yapabilir! Belgelere bir göz atmak burada yardımcı olacaktır. Tabii ki, sorulara yardımcı olmaktan mutluluk duyan topluluk da var.
()
Haberin Sonu
JBoss Forge, bu sorunu çözmek ve çeşitli Java projelerinin yönetilebilirliğini geliştirmek için oluşturuldu. Bir komut satırı aracı olarak doğdu, şimdiden Eclipse’e, JBoss Geliştirici Araçları’na ve son zamanlarda IntelliJ’e entegre edildi. Forge, aylık yayınlarıyla ikna eder ve böylece daha birçok gelişmeyi garanti eder. 2.8.0.Final üç gündür mevcut.
Küçük bir gösteri projesi
Başlamanın en hızlı yolu, doğrudan komut satırı sürümünü (ZIP, 64 MByre) indirmektir. Herhangi bir dizine basitçe açılır. Bu dizin artık FORGE_HOME. Sıradaki bu FORGE_HOME/bin yola ve tabii ki ortam değişkeni de Java_HOME ayarlanmış olmak Her ikisi de yapılırsa, Forge’u başlatın:
mesajı taklit et
(Resim: Markus Eisele)
Birkaç komutla bir proje oluşturulur:
[demo]$ project-new --named Haberler
***SUCCESS*** Project named 'Haberler' has been created.
Ardından bir “Konuşmacı” JPA varlığı eklendi:
[Haberler]$ jpa-new-entity --named Speaker
***SUCCESS*** Persistence (JPA) is installed.
***SUCCESS*** Entity org.Haberler.model.Speaker created
Ve üç yeni özellik eklendi:
[Speaker.java]$ jpa-new-field --named vorname
***SUCCESS*** Field vorname created
[Speaker.java]$ jpa-new-field --named nachname
***SUCCESS*** Field nachname created
[Speaker.java]$ jpa-new-field --named twitter
***SUCCESS*** Field twitter created
Sonuç, Unix benzeri “ls” komutuyla genel bakışta herhangi bir zamanda görüntülenebilir:
[Speaker.java]$ ls
[fields]
id::java.lang.Long
nachname::java.lang.String
twitter::java.lang.String
version::int
vorname::java.lang.String
[methods]
equals(java.lang.Object)::boolean
getId()::java.lang.Long
getNachname()::java.lang.String
getTwitter()::java.lang.String
getVersion()::int
getVorname()::java.lang.String
hashCode()::int
setId(java.lang.Long)::void
setNachname(java.lang.String)::void
setTwitter(java.lang.String)::void
setVersion(int)::void
setVorname(java.lang.String)::void
toString()::java.lang.String
Hala eksik olan, açıkça bir yüzeydir. Elbette Forge, karşılık gelen bir “İskele” temel çerçevesi de oluşturabilir:
scaffold-generate --targets net.eisele.demo.model.Speaker
Uygun varlığı seçtikten sonra, hepsi bu. Şimdi her şeye dosya düzeyinde bakarsanız, basit bir Maven projesi bulacaksınız. Derslerde Forge referansı yoktur. Seçtiğiniz IDE’de kolayca açılabilir veya komut satırı aracılığıyla oluşturulabilir ve elbette herhangi bir Java EE 6 sunucusunda konuşlandırılabilir.WildFly ile test ettim:
Forge ile Haberler Mini Uygulaması
(Resim: Markus Eisele)
Forge çok daha fazlasını yapabilir! Belgelere bir göz atmak burada yardımcı olacaktır. Tabii ki, sorulara yardımcı olmaktan mutluluk duyan topluluk da var.
()
Haberin Sonu