Java ile yazmaya devam ettiğim uygulamanın business logic, site ve admin birimlerinin her birini ayrı bir proje olarak geliştirmekteyim. Rest service kullanarak yaptığım birimler arası haberleşmede, XmlRootElement ile notalandırılmış pojolar kullanıyorum. Ama herhangi bir birimdeki pojo üzerinde yaptığım değişikliği diğer birimlerde de yapmak zorunda kalıyorum. Yani business logicin user dto suna 2. ad eklemişsem gidiyorum admin ve site birimlerine de bunu eklemek zorunda kalıyorum. Farklı bir kütüphane projesi oluşturup bunu her birime dahil etmek aklıma geliyor ama geliştirme aşamasında oldukça can sıkıcı olur diye istemiyorum. Faklı projelerin aynı pojo paketine bakmasını nasıl sağlayacağım konusunda bilgisi, önerisi, tavsiyesi olan var mı? Uygulamayı spring ile geliştirmekteyim.

soruldu: 24 Haz '12, 11:58

hakannn's gravatar image

hakannn
6113
cevap kabul oranı: 0%

değiştirildi: 24 Haz '12, 12:22

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Yeni bir proje acin ve modellerinizi(entity beans, dto vb.) bu projeye ekleyin. Business Logic ve View katmani projeleriniz bu modellerinize ihtiyac duyuyorlarsa ilgili projeye model projenizi classpath'e proje linki olarak ekleyin. Boylece Business Logic olan projenizi her compile/deploy yaparken model projeniz compile edilip model.jar olarak otomatikman Business Logic projenizin classpath'ine lib olarak eklenecektir.

Paket yapisina dikkat etmeniz tavsiye edilir. Ornegin model projenin paket yapisi:

com.mydomain.project1.model (entity veya domain) > alt paketleri

Busines Logic projesinin paket yapisi:

com.mydomain.project1.business > alt paketler seklinde olabilir.

permanent link

cevaplandı: 24 Haz '12, 14:53

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

Link source ile projelere ekledim ve tam istediğim gibi oldu çok teşekkürler. Bir şeyide merak ediyorum link source ile dahil ettikten sonra, src/main/java, src/main/resources, src/test/java klasörlerinin bulunduğu seviyede model klasörü oluştu. Bu seviyeden kurtarıp doğrudan dahil ettiğim projenin paket hiyerarşisinde kullanmak mümkün mü? Teşekkürler.

(24 Haz '12, 16:39) hakannn hakannn's gravatar image
1

@hakannn Sanirim yanlis menuden sectin. Eclipse'de projenin properties kismina gel, Java Build Path > Projects tab'inda Add'e tikla ve Model projeni secip Ok'le. Bu sekilde yaparsan ekledigin proje proje.jar olarak classpath'ine eklenir. (Source tab'inda Link Source yapmicaksin.) Bu sekilde yaparsan klasor olusmaz, model projen bu projeye sadece baglanmis olur. Compile ettiginde hep Model projen ile birlikte compile edilir. Eger model projende JPA kullaniyorsan, entity bean'leri persistence.xml'de <jar-file>lib/mymodel-entity.jar</jar-file> diyerek otomatik tanitabilirsin.

(25 Haz '12, 06:23) CemIkta ♦ CemIkta's gravatar image

Link source'tan silerek, uygulamanın bütün projelerine, projects tabını kullanarak ekledim. Business, mobile, site ve admin projelerinin paket hiyerarşisinde görünmesi içinde linux dosya sistemi üzerinde model paketi için sembolik link oluşturup, bütün projelerin altına kopyaladım. Şu an bütün projelerin paket hiyerarşisinde görünüyor ve yaptığım bütün değişiklikler diğerlerine de yansıyor. Henüz compile etmedim ama compile aşamasında sembolik linkten kaynaklı bir problem çıkarsa,

(26 Haz '12, 15:24) hakannn hakannn's gravatar image

compile olmadan önce model sembolik linkini silecek ve derlendikten sonra yine linkin oluşmasını sağlayacak bash script yazmayı planlıyorum. Düşündüğüm gibi bir yapıya kavuştum sanırım, yardımlarınız için çok teşekkürler.

(26 Haz '12, 15:24) hakannn hakannn's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×128
×6

Soruldu: 24 Haz '12, 11:58

Görüntüleme: 585 kez

Son güncelleme: 26 Haz '12, 15:24

powered by BitNami OSQA