Seam-gen İle Console Üzerinden Proje Oluşturma

Seam ile proje oluşturma yöntemlerinden biriside console üzerinden ant scriptleri yardımı ile proje oluşturmaktır daha farklı olarak Eclipse üzerinden de projemizi oluşturuyor olabilirdik.

JBoss Seam

JBoss Seam

Bu iki yöntemde arka tarafta seam-gen mimarisini ve seam-gen içerisinde yer alan halihazırdaki proje yapısını ve template leri kullanır. Buradaki template standartı freemarker dır. Eğer bu template lere müdahele etmek istiyorsak azda olsa freemarker a göz atmakta fayda var.

Seam üzerinden console ekranı ile belirli komutlar kullanarak projenizi oluşturabilir veya ekranlar hazırlayabilirsiniz. Bu durumda test ve deploy gibi işlemlerde ant komutları üzerinden yapılır.

Öncelikle daha önceki seam ortam kurulumu dokümanını okuduğunuzu ve uyguladığınızı varsayarak geliştirme ortamınızın hazır olduğunu düşünüyorum. Daha önceki dokümana göre bizim kurulum ortamımız C:\seamDev klasörü altında yer alıyor. Bu klasör altında jboss-seam-2.2.2.Final klasörü bulunuyor bu bizim seam runtime klasörümüz ve seam ile ilgili ihtiyacımız olan her şey bu klasör altında.

İlk adımda mysql içerisinde ornek_seam_projesi adında bir schema oluşturalım.

Öncelikle console ekranımızı açalım (cmd yazarak açabilirsiniz) dizin olarak “cd C:\seamDev\jboss-seam-2.2.2.Final” komutu ile seam-runtime altına geçelim. Şimdi bu dizinde ilgili seam configurasyonunu yapacağız.
Öncelikle seam setup komutunu çalıştıralım.

Ortam kurulumu için bizden parametreleri isteyecek bunlar workspace alanı, proje adı, jdbc driver ve paket isimleri gibi parametreler. Ben parametreleri aşağıdaki gibi girdim.

C:\seamDev\jboss-seam-2.2.2.Final>seam setup
SEAM_HOME: C:\seamDev\jboss-seam-2.2.2.Final
Using seam-gen sources from: C:\seamDev\jboss-seam-2.2.2.Final\seam-gen
Buildfile: C:\seamDev\jboss-seam-2.2.2.Final\seam-gen\build.xml

init:

setup:
[echo] Welcome to seam-gen 2.2.2.Final :-)
[echo] Answer each question or hit ENTER to accept the default (in brackets
)
[echo]
[input] Enter the directory where you want the project to be created (should
not contain spaces) [C:/Projects] [C:/Projects]
c:/seamDev/workspace
[input] Enter your JBoss AS home directory [C:/Program Files/jboss-5.1.0.GA]
[C:/Program Files/jboss-5.1.0.GA]
C:/seamDev/jboss-5.1.0.GA
[input] Enter your JBoss AS domain [default] [default]

[input] Enter your GlassFish V2 or V3 home directory (Ignore if you aren’t d
eploying to GlassFish) [C:/Program Files/glassfish-v2.1] [C:/Program Files/glass
fish-v2.1]

[input] Enter your GlassFish domain (Ignore if you aren’t deploying to Glass
Fish) [domain1] [domain1]

[input] Enter the project name [myproject] [myproject]
ornekSeamProjesi
[echo] Accepted project name as: ornekSeamProjesi
[input] Do you want to use ICEfaces instead of RichFaces? [n] (y, [n])

[input] skipping input as property icefaces.home.new has already been set.
[input] Select a RichFaces skin [glassX] (blueSky, classic, darkX, deepMarin
e, DEFAULT, emeraldTown, [glassX], japanCherry, laguna, ruby, wine)

[input] Is this project deployed as an EAR (with EJB components) or a WAR (w
ith no EJB support)? [war] (ear, [war])
war
[input] Enter the base package name for your Java classes [com.mydomain.orne
kSeamProjesi] [com.mydomain.ornekSeamProjesi]
com.mergecons.egitim.ornek
[input] Enter the Java package name for your session beans [com.mergecons.eg
itim.ornek.action] [com.mergecons.egitim.ornek.action]

[input] Enter the Java package name for your entity beans [com.mergecons.egi
tim.ornek.model] [com.mergecons.egitim.ornek.model]

[input] Enter the Java package name for your test cases [com.mergecons.egiti
m.ornek.test] [com.mergecons.egitim.ornek.test]

[input] What kind of database are you using? [hsql] ([hsql], mysql, derby, o
racle, postgres, mssql, db2, sybase, enterprisedb, h2)
mysql
[input] Enter the filesystem path to the JDBC driver jar [] []
C:/seamDev/mysql-connector-java-5.1.7-bin.jar
[input] skipping input as property driver.license.jar.new has already been s
et.
[input] Enter the Hibernate dialect for your database [org.hibernate.dialect
.MySQLDialect] [org.hibernate.dialect.MySQLDialect]

[input] Enter the JDBC driver class for your database [com.mysql.jdbc.Driver
] [com.mysql.jdbc.Driver]

[input] Enter the JDBC DataSource class for your database [com.mysql.jdbc.jd
bc2.optional.MysqlDataSource] [com.mysql.jdbc.jdbc2.optional.MysqlDataSource]

[input] Enter the JDBC URL for your database [jdbc:mysql:///test] [jdbc:mysq
l:///test]
dbc:mysql://localhost:3306/ornek_seam_projesi
[input] Enter the database username [sa] [sa]
root
[input] Enter the database password [] []
root
[input] skipping input as property hibernate.default_schema.entered has alre
ady been set.
[input] Enter the database catalog name (Enter ‘-’ to clear previous value)
[] []

[input] Are you working with tables that already exist in the database? [n]
(y, [n])

[input] Do you want to recreate the database tables and execute import.sql e
ach time you deploy? [n] (y, [n])

[propertyfile] Creating new property file: C:\seamDev\jboss-seam-2.2.2.Final\sea
m-gen\build.properties
[echo] Installing JDBC driver jar to JBoss AS
[copy] Copying 1 file to C:\seamDev\jboss-5.1.0.GA\server\default\lib

init:

init-properties:
[echo] C:/seamDev/jboss-5.1.0.GA

validate-workspace:

validate-project:

settings:
[echo] JBoss AS home: C:/seamDev/jboss-5.1.0.GA
[echo] GlassFish home: C:/Program Files/glassfish-v2.1
[echo] Project name: ornekSeamProjesi
[echo] Project location: c:/seamDev/workspace/ornekSeamProjesi
[echo] Project type: war
[echo] IceFaces: n
[echo] Action package: com.mergecons.egitim.ornek.action
[echo] Model package: com.mergecons.egitim.ornek.model
[echo] Test package: com.mergecons.egitim.ornek.test
[echo] JDBC driver class: com.mysql.jdbc.Driver
[echo] JDBC DataSource class: com.mysql.jdbc.jdbc2.optional.MysqlDataSource

[echo] Hibernate dialect: org.hibernate.dialect.MySQLDialect
[echo] JDBC URL: dbc:mysql://localhost:3306/ornek_seam_projesi
[echo] Database username: root
[echo] Database password: root
[echo]
[echo] Type ‘seam create-project’ to create the new project

BUILD SUCCESSFUL
Total time: 9 minutes 24 seconds

C:\seamDev\jboss-seam-2.2.2.Final>

Bu durumda bizim için “C:\seamDev\jboss-seam-2.2.2.Final\seam-gen\” altında ayarların bulunduğu bir build.properties dosyası oluşturulmuş olacak. İstediğimiz zaman bu dosya üzerinde değişiklik yapabiliriz

Şimdi yeni bir proje yaratabiliriz console ekranında kaldığımız yerden seam create-project diyelim. Bizim için bir proje yaratmış olacak. Şimdi c:/seamDev altındaki eclipse i açalım ve yaratılan projeyi import edelim. Bunun için sağ menüde project explorer veya navigator içerisinde boş bir alana sağ tıklayıp import seçeneğini seçelim burada General -> Existing Projects into Workspace diyelim ve next butonuna tıklayalım. Gelen ekranda sağ üstten Browse… a tıklayıp “C:\seamDev\workspace\ornekSeamProjesi” dizinini gösterip finish diyelim.

Şimdi projemiz Project Explorer menüsünde görünmüş olacak. Son olarak projeye eclipse üzerinde seam desteği vermek için projeye sağ tıklayıp Properties diyelim açılan pencerede sağdaki listeden Seam Settings i seçelim burada Seam Runtime ı jboss-seam-2.2.2.Final yapıp ok diyelim.

Artık proje ortamımız hazır şimdi projemizi test etmek için alttaki Server kısmından JBoss a sağ tıklayıp start diyelim. JBoss açıldıktan sonra Chrome veya FireFox gibi bir tarayıcıdan http://localhost:8080/ornekSeamProjesi dersek bizim için Seam açılış sayfasını getirecektir.

Herkese seam ile keyifli projeler dilerim :)

Jun 27th, 2011
Tags: ,
  1. Çınar Gedizlioğlu
    Jul 26th, 2012 at 13:04 | #1

    Merhaba ben bunu aynen uyguladım ancak JBoss üzerinde çalıştırırken 404 hatası alıyorum neden olabilir acaba benim aklıma hiçbir şey gelmedi, teşekkürler.

  2. Jul 26th, 2012 at 15:11 | #2

    hatayi mail ile gonderebilirseniz daha iyi olur ?

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>