Eclipse WTP vs sydeo, "modülleri yayınlamadan sunar"


103

Eclipse'in entegre WTP eklentisini kullanarak eklenti sysdeo'nun performanslarını bulmakta sorun yaşıyorum.

Göçü ve dolayısıyla karşılaştırmayı yapmak için, her ikisini de tutulma içindeki ayrı projelere kurdum.

Anladığıma göre bir üretkenlik farkı fark ettim: Tomcat'in düzenlemede olması için WTP'nin kaynakları bir dizin yapısında yayınlaması gerekiyor. Bu "pulish" uzundur: değişikliklerin görünür olması için içeriğin yeniden doldurulması gerekir. (Çoğu bahçede 5 kuru 15 saniye - en uzun 20 saniye).

Sysdeo hayır; Tutulma dizininin hedefleri, sonuç olarak, bir dosya tarafından bir değişiklik yapılır yapılmaz, tutulma derlemesi yapılır ve bu değişiklikler hemen kullanılabilir olur (tarayıcıda F5 ve sonucu hemen alırız) projenin içini oluşturur.

İşte sunucu yapılandırmam:

"Modülleri yayınlamadan sunar" seçeneği, sydeo'yu tam olarak yapan şeyin yapılmasına izin verir: çalışan projenin derleme dizinini seçmek. Bu konfigürasyon kendisini bağlam dosyasında ifade eder. ("Yayımla bağlamları XML satırlarını serparate olarak değiştirir" seçeneğini işaretlediğimi geri alabilmek için)

Bu dosyaların karşılaştırması:

  • İşte sysdeo tarafından oluşturulacak bağlam dosyası
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
  • WTP ile oluşturulacak dosya içeriği

<? xml version = "1.0" encoding = "UTF-8"?> <Context docBase = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ web" path = "/ tatoile" reloadable = "true" source = "org .eclipse.jst.jee.server: tatoile "> <Resources className =" org.eclipse.jst.server.tomcat.loader.WtpDirContext "extraResourcePaths =" / WEB-INF / sınıflar | D: \ 32bit \ serveur32bit \ çalışma alanı \ tatoile \ build \ classes "virtualClasspath =" D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "/> <Loader className =" org.eclipse.jst.server.tomcat.loader.WtpWebappLoader "useSystemClassLoaderAsParent =" false " virtualClasspath = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes" /> <JarScanner scanAllDirectories = "true" /> </ Context>

Daha sonra bu iki dosyanın benzer olduğunu analiz edin.

Şimdi soruna dönelim. Aynı sunucuyu kullanıyorum, dolayısıyla yukarıdaki her iki bağlam dosyası da bu sunucu için tanımlandı. Deneyim: Tomcat'i sysdeo eklentisi ile başlatıyorum, iki bağlamda yükler biri WTP diğerini sysdeo tarafından yapılandırmak için yapıldı. Her iki otorite de aynı şekilde tepki veriyor, tadilatlar tatilde ve tatilde hemen oluyor.

Öte yandan, tutulmada WTP (sekme sunucusu vb.) Eklentisi aracılığıyla tomcat'i başlatıyorum, tatoile _syseo ve tatoile projelerinde değişiklikler hemen yapılmıyor. Not: Otomatik yeniden yüklemenin, değişikliklerin hesaba katılması için mutlaka Etkinleştirilmesi gerekir. (Sunucu bize içeriği yeniden yüklediğini gösterdiğinde değişiklikleri görebiliriz.)

görüntü açıklamasını buraya girin

Bundan, bağlamların yapılandırmasının neden olmadığını, daha çok eklentinin tomcat'i başlatma şekli olduğunu çıkardım; ve orada ya da kurur ...

İşte WTP projesi:

görüntü açıklamasını buraya girin


5
Sysdeo veya WTP'de sorununuz mu var? OTOH Elbette WTP'nin değişiklikler için daha fazla zamana ihtiyacı olacaktır, çünkü bunlar yeniden yayınlamak için yapacaklarıdır: (1) sınıfları oluştur (2) eski web uygulamasını kaldır (3) oluşturma sonucunu tomcat'in dağıtım klasörüne kopyala (4) tomcat, otomatik olarak app. Bu arada, sysdeo ile, RAM'deki sınıflar, değişiklikler yapılır yapılmaz anında değiştirilir (herhangi bir sınıf dosyasında yeni tarihle tanımlanır). Daha sonra anında yapılamayan bazı değişiklik sınırlamaları vardır (yeni yöntemler eklediğinizde, sınıf yapısı da değişti), bu durumda bir uyarı verecektir.

Aynı projede hem Sysdeo hem de WTP kullandım. Fark ettiğim en önemli fark, Sysdeo'nun yapılandırmasının bana daha kolay görünmesiydi, ancak bu önyargılı olabilir.
Markus

2
Sorun, WTP dağıtımı ile MAVEN eklenerek çözüldü. Performans sorunu yok. Performans sorunu yok ve "yayınlamadan modülleri
sun

1
Sorunu çözdüyseniz, bir cevap gönderebilir misiniz?
Anubian Noob

@AnubianNoob, emsal yazımda açıkladığım zaman evet. Maven yapılandırmasını kullanarak sorunu çözdüm.
Vsplit

Yanıtlar:


3

@ Vsplit'ten alıntılanan cevap

Sorun, WTP dağıtımı ile MAVEN eklenerek çözüldü. Performans sorunu yok ... ve yayınlamadan sunum modüllerini etkinleştirmiyorum


-1 Bu cevap değil. lütfen yanıtı daha fazla ayrıntıyla ekleyin.
Isaac G Sivaa

1
Merhaba, geç cevabım için özür dilerim. Ancak fark etmeniz gerektiği gibi, Sysdeo eklentisi sorununu çözemiyorum. Ancak WTP de dağıtımıyla Maven eklentisini kullanıyorum. Bu örnek eğiticiyi youtube.com/watch?v=YeC7XQho-O0
Vsplit

2

m2e-wtp adlı ücretsiz bir eklenti için eklenti pazarına bakın. Bu, sağlanan kapsam sorunlarıyla ilgilenecektir. Dağıtılmayan sınıflara gelince, baktığım olağan yerler dağıtım derlemesi ve / veya Java Derleme Yolu. Girişlerin (ve bağımlı modüllerin) hepsinin orada ve doğru yerde bulunduğundan emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.