2011-07-12 21 views
41

"Dynamic Web Module" fasetini ekleyerek Eclipse'den bir .war uygulamasını dağıtıyorum, daha sonra projeye sağ tıklayıp "Farklı Çalıştır -> Sunucu Üzerinde Çalıştır" ı seçiyorum.Webapp'i Eclipse'den Tomcat root içeriğine dağıtın

Bu, harika çalışır, ancak proje varsayılan olarak, proje adı web olduğundan Tomcat'in /web içeriğine dağıtılır. Proje adını ROOT'a değiştirmeden Eclipse'den Tomcat'e dağıtmanın bir yolu var mı?

cevap

75

Sen çift tıklayın .. Server View gitmeye gerek tomcat, bu yeni bir pencere açar (2 sekmeli). Modules yazanı seçin, uygulamanız orada listelenecektir (içerik yolu ile). İçerik yolunu/web'den buradan başka bir şeye dönüştürebilirsiniz.

Alternatif olarak, server.xml bağlam adı verilen bir etiketi arayabilirsiniz. Bu etiket içinde contextroot'u/web olarak bulacaksınız.

+2

Alternatif yol en iyisi (Açık Eclipse -> Project Explorer -> Sunucular -> server.xml): Musa

1

Right click the application > Properties > Web Project setings ve KÖK Bağlam kökü set (veya boşaltmak için - Ben denemedim, bu nedenle hem denemek ve beni bir çalıştığı bildirin)

+0

bu, http: // stackoverflow üzerinde çalıştı.com/questions/6665245/deploy-webapp-from-eclipse-to-tomcat-root-context/6665570 # 6665570 –

16

Projenizi Eclipse'de sağ tıklayın ve Özellikler-> Web Proje Ayarları'nı seçin. İçerik adını burada değiştirin.

Alternatif projeniz proje için Web Proje Ayarları yılında

+0

Bu yalnızca proje bir web projesi olarak tanımlanmışsa çalışır, aksi halde Eclipse bağlantıyı onsuz yapalım mı? –

+1

Web projesi değilse, Eclipse'nin sunucu tesisi aracılığıyla Tomcat'e konuşlandırılabileceğini düşünmüyorum. – maximdim

+1

Not, site kökü olarak çalıştırmak için içeriği "/" olarak değiştirin. Daha sonra Sunucular görünümünde sunucuyu sağ tıklatıp "Temizle" yi çağırmak zorunda kaldım. – Steve

6

içindeki .settings/org.eclipse.wst.common.component dosyasında düzenleyebilirsiniz, "için Bağlam kökü set/". (Tırnaklar olmadan) Just in case mod_proxy ile apache2 kullanıyor

. Benim sanal konak tanımda ben kök bağlamı için Yer girişine ulaşır:

Eğer bağlamlarda aka (Daha ileri modülleri çimdik/kaldır/yapılandırmak ve ekleyebilirsiniz tutulma bir sunucu yapılandırdıktan sonra
<Proxy balancer://ajpCluster> 
    BalancerMember ajp://localhost:18009 route=s1 
    BalancerMember ajp://localhost:28009 route=s2 
    </Proxy> 

    # A "Location" entry for hosting static content. Would put mod_expire settings 
    # here 
    <Location /resources> 
    ProxyPass ! #Don't proxy this location 
    ExpiresActive on 
    ExpiresDefault "access plus 1 seconds" 
    ExpiresByType application/javascript "access plus 1 months" 
    </Location> 

    #... 

    # This must be the last "Location" if you are overloading others, otherwise 
    # the others won't load as apache uses the first one listed that matches 
    <Location /> 
    ProxyPass balancer://ajpCluster stickysession=JSESSIONID 
    </Location> 
4

/webapps) barındırmak istediğiniz. Sunucuyu listeleyen bir Sunucular penceresi olmalıdır (değilse: Pencere> Görünümü Göster> Sunucular). Yapılandırma sayfasını açmak için sunucuya çift tıklayın. 2 sekme var, ancak sol alt köşede. Açık Modüller, eklediğiniz herhangi bir modül listelenecektir. Bir modülün varsayılan olanı olmasını istiyorsanız (örneğin, localhost yazarsanız, örneğin, index.jsp sunucusuna sahip olur), yolun "/" yazdığından emin olun. Varsayılan değer, webapps Properties> Web Project Settings'de olanı olacaktır ve genellikle proje adıdır. Orada ayarlarsanız, onu boş bırakmanıza izin vermez, bu yüzden "/" kullanın.

Sunucunuzun yapılandırma değişikliklerini kaydettiğinizden emin olun. Ayrıca, değişikliklerin gerçek sunucuya yayılmasını sağlamak için "yayınlamanız" gerekebilir.

Kontrol etmek için son bir şey, sunucu yüklemesini, açık conf/server.xml dosyasını bulmak ve içeriklerinizi aramaktır. Oradaki yolu da değiştirebilirsiniz. Path = "", "/" için eşittir, tomcat bu ROOT uygulamasını yapar. Ayrıca, Eclipse'in ilk yayınladığınızda ROOT adında boş bir webapp oluşturacağını da unutmayın (bu ayrıca server.xml dosyasında da olacaktır). Silmek güvenlidir. Dağıtılan uygulamanız webapp adı olarak proje adına sahip olsa da, yol "" olduğu sürece varsayılan KÖK olarak ele alınır.

+1

Lütfen, tanıtımı kaldırın ve cevabınızı daha özlü ve alakalı hale getirin. – ilyaigpetrov