2012-12-12 22 views
5

Çalıştığım proje oldukça belirgindir. GWT'yi SAP arka uç ile kullanıyoruz. Aşağıdaki yapılandırmayı kullanarak Dev Modu çalıştırmak (program argüman olarak; Projeyi çalıştırın doğrudan IntelliJ IDEA kullanarak)Uzak sunucuda Süper Dev Modu

-noserver -logLevel INFO -startupUrl http://server-url:8000/aaa -whitelist ^http[:][/][/]server-url[.]eu[:]8000/aaa com.company.project.main.Main 

Not yerel bir sunucu (-noserver) kullanmıyordu.

Kendimi Süper Dev Modu ile tanıştıktan sonra, GWT Web Modu'na benzediğini anladım, yani JavaScript'i (derlenecek klasör, belirtilebilir) derler ve daha sonra kod sunucusunu barındırılan bu betikle çalıştırır.

Projenin özellikleri nedeniyle derlenen JavaScript, WebDav yoluyla maven kullanılarak uzak sunucuya dağıtılır. Dolayısıyla, -workDir parametresini bir parametre olarak belirtmek, komut dosyalarını uzak sunucuda dağıtmayacaktır. server-url adresindeki bir Java sunucusunu (en azından şu anda) çalıştıramaz da.

Bu durumda Süper Dev Modu'nu kullanabilir miyiz? Şimdilik

cevap

9

Evet yapabilirsiniz.

DÜZENLEME 2016/11/27: https://github.com/tbroyer/gwt-devserver

DÜZENLEME: Ben bir webpack benzeri proxy kullanarak sunucuya yazmaya gerek kalmadan -launcherDir tarzı SuperDevMode kullanabileceği bir devserver inşa yeniden birkaç sorun var. ertelenmiş bağlanma özellikleri. SDM'nin önerilen kullanımı (GWT 2.7'den beri), bir yerel sunucu kullanmak anlamına gelen -launcherDir'u kullanmaktır.

SuperDevMode, -noserver ile DevMode gibi çalışır, bu da uygulamanızı en az bir kez sunucunuza dağıtmanız gerektiği anlamına gelir. SuperDevMode durumunda, xsiframe bağlayıcı ve devModeRedirectEnabled özelliği true olarak ayarlanmış derleme ve dağıtmanız gerektiği anlamına gelir.

O zaman zaten yapmadıysanız bile, yer işareti oluşturmak uzak sunucudan uygulamanızı yükleyin ve yer işareti üzerine Dev Modu tıklayın makinenizde SuperDevMode çalıştırın.

Bu, tarayıcının sessionStorage öğesinde bir şey saklayacaktır, böylece sayfayı yeniden yüklediğinizde, artık, makineniz üzerinde çalışan uzak sunucu yerine çalışan SuperDevMode'dan yükleme işlemi yüklenecektir. SuperDevMode nasıl çalıştığı ile ilgili

diğer bilgiler: http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/

+0

Ama Süper Dev Modu çalışması gereken parametrelerin hangi? Ben -bindAddress server-url -port 8000' olarak belirtin? Bunu yaparsam java.net.BindException: İstenen adres atanamaz 've bir uyarı' SelectChannelConnector @ server-url: 8000' başarısız oldu. – Vic

+2

Cevap doğru, mümkün. Ancak SuperDevMode'u -bindAddress 0.0.0.0' ile çalıştırmak zorunda kaldım.Ardından, bookmarkletleri sürükleyebileceğim "http: // victor-dell: 9876" linkini açtım. Bir sonraki adım, 'http: // server-url: 8000/aaa'mı açmak ve daha sonra“ Dev Mode On ”(Yer İşareti Modu) bookmarklet'ini açmaktı. Ayrıca bu yer işaretlerini aldığımda http: // victor-dell: 9876’a geçebilirim. – Vic

+0

'-bindAddress' olmadan,' localhost' veya '127.0.0.1' kodlayıcılarına kolayca erişebilir ve hepsi aynı şekilde çalışmalıdır. –

0

, ben (adres, diyelim ki, http://server-url:8000/bbb birlikte) SAP sunucuda nasılsa gwt-codeserver.jar çalıştırın ve http://server-url:8000/aaa tüm istekleri yönlendirir servlet, yazmak için sadece bir olası çözüm, bkz. Ancak, bu uygulanması çok kolay değil. SAP sunucusunda, kullanıcının ilk önce oturum açma sayfasını gördüğü ve daha sonra oluşturulmuş oturuma özgü bir URL'ye yönlendirildiği "zor" kimlik doğrulama mekanizması vardır.

Diğer fikirler çok açıktır.

İlgili konular