2011-10-17 20 views
5

Ben 3,1GlassFish 3.1, bir EAR'ın sunucu kökünde bir WAR ile nasıl dağıtılacağı?

Şu GlassFish dağıtma olduğum bir WAR ile KULAK var, uygulama localhost çalışır: 8080/myapp/index.jsf ben localhost üzerinde çalıştırmak istediğiniz

: 8080/index.jsf

bunu başarmak için, ben contextRoot için contextRoot "Uygulamam" dan EAR application.xml değiştirdi = "/"

Ben GlassFish yönetici arayüzü kullanarak benim kULAK dağıtmak

, bana veren bir dağıtım hatası, daha sonra yönetici kullanıcı arayüzüne göz atmaya çalıştığımda, bana varsayılan GlassFish ana sayfasını gösterir. Kurtarmak için EAR'ımı komut satırından asadmin kullanarak kaldırmalı ve sunucuyu yeniden başlatmak için bir yeniden başlatma alanı kullanmalıyım.

Benim teorim, uygulamamın ve GlassFish yönetici kullanıcı arabiriminin hem "root" üzerinde çalışıyor olmasıdır.

SORU: Web uygulamamı GlassFish 3.1 köküne yerleştirmenin doğru yolu nedir? Yoksa bu kötü uygulama mı?

Teşekkürler!

komut satırından sizin genişlemeden bağlam kök seçmek asadmin bir argüman kullanabiliyorsa

Rob

+0

Sanırım 'adımlarınızı' takip ettim ve sorunu tekrarlayamıyorum. Görüyorsun. Mac OS X 1.7.2'de, GF 3.1.1'deyim. Adımlarınız benim için gayet iyi çalışıyor ... ama biraz belirsiz olsalar ve onları yanlış yorumluyor olabilirim, bu yüzden sorunu tekrarlayamıyorum. 'Bana bir dağıtım hatası veriyor' ile ilgili daha fazla ayrıntı, bu soruya yararlı bir ek olabilir. – vkraemer

+0

@vkraemer - Sorunum için yeni ve ayrıntılı bir soru başladım, lütfen ziyaret edin, herhangi bir yardım büyük beğeni topluyor! http://stackoverflow.com/questions/7878645/errors-deploying-war-in-root-context-on-glassfish-3-1 –

cevap

2

Rob. Bu bana anlattığın meseleyi hiç vermedi.

$ ASADMIN --contextroot "/" your.war

Diğer seçenek varsayılan bir web modülü seçmek için sanal sunucu ayarları altında olduğunu dağıtmak, ama şahsen ben sadece/'e bir uygulama ayarı tercih ediyoruz.

Kevin

+0

Bunun bir kulak dosyası ile çalıştığından emin değilim ... – vkraemer

+0

@ Kevin - Sorunumu daha da ayrıntılı hale getirdim, lütfen bir ara verin: http://stackoverflow.com/questions/7878645/errors-deploying-war-in-root-context-on-glassfish-3-1 –

+0

doesn ' EAR için çalışıyorum ... – Damian

3

kolay yöntem yolu glassfish-web.xml sahip.

Bu, WEB-INF dizinimde bulunan yapılandırmamdır.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/myapplication</context-root> 
</glassfish-web-app> 

Bir not olarak, kulak yerine savaşı kullanmayı düşünmelisiniz. JavaEE6 için referans uygulaması olan Glassfish 3.x, EJB'ler ile savaşı kullanabilme özelliğine sahiptir. Yani savaşınızı ejb'inizde kulak demeti olmadan kolayca kullanabilirsiniz. Sadece uygulama boyutunuzu önemli ölçüde azaltmakla kalmayacak, aynı zamanda sınıf yükleme sorunları, bellek ayak izi vb. Bakımından iyi bir uygulama yapmanıza da olanak sağlayacaktır.

İlgili konular