2010-06-04 16 views
5

Yaklaşık 10 farklı Eclipse projesinden oluşan bir uygulamam var. Bazı projeler Java 5 ve diğerleri Java 6 ile oluşturulmalıdır. Her ikisi de Eclipse'in "Installed JREs" listesiyle "jdk5" ve "jdk6" olarak kaydedilmiş olan bu JDK'larım var.Eclipse: Bir ekipte "Yüklü JRE'ler" ini koordine etmenin kolay bir yolu var mı?

Uygun JRE, her projenin .classpath dosyalarında yansıyan yapı sınıfı yolundadır. Ancak, ekibimdeki diğer üyeler bu JRE'ler için makinelerinde farklı sembolik isimler kullanıyor. Ayrıca, .classpath dosyaları kaynak denetime kontrol edilir. Sonuç olarak, insanların yapabilmek için .classpath dosyalarında yerel değişiklikler yapmaları gerekiyor.

İçgüdülerim, yüklü JRE'ler listesi için bir adlandırma kuralı seçmek ve tüm ekip üyelerinden onunla iletişim kurmasını istemektir. Ancak, bu sadece yeni bir geliştirici kurma sürecini zorlaştırıyor. Gerçekten, sadece "bu projeyi Java 5 ile inşa et" ve "bu projeyi Java 6 ile oluştur" demek istiyorum. Nerede takıldıkları ya da sembolik adlarının ne olduğu umrumda değil. Eclipse bu tür bir yapılandırmayı destekliyor mu?

cevap

3

Yürütme Ortamı istediğiniz şeydir (Tercihler -> Java -> Yüklenen JRE'ler -> Yürütme Ortamları). "J2SE-1.5" veya "JavaSE-1.6" gibi Java'nın belirli bir sürümüne karşılık gelen bir JRE Sistem Kitaplığı kullanmak için projelerinizin sınıf yolunu değiştirebilirsiniz. Ardından, Eclipse kurulu JRE'leri bu kategorilere ayıracak ve projelerinizi oluştururken uygun olanı kullanacaktır.

0

Tercihler -> Java-> Derleyici'de projeye özel derleyici ayarlarını yapılandırabilirsiniz. Ancak, bu sadece belirli bir JDK'yi seçmemeniz için uyum düzeyini ayarlamanıza izin verir. Ama belki bu sizin amacınız için yeterli mi?

2

Dürüstçe, tam olarak bunun için maven (maven-compiler-plugin ve profilleri) kullanıyorum. maven (veya karınca, vs) gibi bir sistemi kullanarak

<plugin> 
<artifactId>maven-compiler-plugin</artifactId> 
<configuration> 
    <source>1.5</source> 
    <target>1.5</target> 
</configuration> 
</plugin> 

geliştiriciler arasında sınıf yolu/çevre/os-eşitsizlikler sorunları ile müthiş bize yardımcı olur.

+0

Maven kullanmadığımızı ve şu an için geçiş yapamayacağımızı belirtmek isterim. Bununla kişisel bir deneyimim yok, ancak ekibin çoğu geçmek istiyor. İlk önce yapmamız gereken çok şey var. –

+0

Gotcha. Bu durumda (diğerlerinin de belirttiği gibi) standart bir isimlendirme şeması muhtemelen en iyi bahistir. Eldef olarak env değişkenlerini kullanarak mümkünse standart bir lokal lokasyon bile olabilir. Ya da paylaşılan bir sürücü bile ... – Quotidian

0

Proje dosyalarınızı eşitliyorsanız, tutulma, proje oluşturma yolu yapılandırmasının Kütüphaneler sekmesinde geçerli bir JDK'yi korur. Herkesin aynı JDK yüklü ve tutulması yüklü olduğu sürece bu oldukça iyi bir şekilde devam edecektir. Mümkünse, Quotidian'ın önerdiği maven çözümünü tavsiye ediyorum, ancak her bir geliştirici iş istasyonu aynı şekilde kurulduğunda el ile başarılı bir şekilde başarılı bir şekilde geçtim. Eğer farklı işletim sistemlerini çalıştıran geliştiricileriniz varsa, bu sizi bir linux sisteminde "C: \ Program Files \ java" ya da "/ user/lib/jvm /" gibi görünen wndows'larda saklayabilir. mevcut olurdu.

0

.classpath fies öğelerini kaynak denetime dahil etmek zorunda kalıyorsanız, tüm dev'lerin kendi JDK'larını aynı konuma yüklemesi fikrinizi almanızı öneririm (veya ortak bir env kullan konumlara işaret eden değişken ad). Aynı ekipteki devlerin çok benzer ortam kurulumlarına sahip olması ve ortak env kurulumunun iyi belgelenmesi çok daha kolay. Böylelikle, yeni devreler piyasaya çıktığında, bunları env kurulumu için belgelerinize yönlendirebilir ve hızlı bir şekilde çalıştırabilir ve çalıştırabilirsiniz - JDK'lerinin kurulu olduğu yerlerde hata ayıklama sorunlarına zaman harcamamaya gerek yoktur. Bu seçenek bir seçenek değilse de ve zaten Maven kullanıyorsunuz, ancak .classpath dosyalarını kaynak denetiminden kaldırmayı düşünebilirsiniz. Bunu kısa bir süre önce yaptık ve sadece tüm devlerin, kendi .classpath dosyalarını pom.xml dosyasında bulunanlara göre oluşturmak (veya güncellemek) için Maven eclipse eklentisini çalıştırdık. (yani, mvn tutulması: bu eklentiyi çalıştırmak için tutulma).

İlgili konular