2011-11-25 21 views
6

'daki eclipse classpath değişkeninin değerine erişim Tutulma çalıştırma yapılandırmasında, container_path ve env_var gibi VM bağımsız değişkenlerinde kullanabileceğiniz bir dizi varsayılan değişken sağlanır.
Erişmek istediğim bir classpath değişkeni, M2_REPO, ancak bunu yapmanın bir yolunu göremiyorum. Bir jar dosyasına giden bir yol gerektiren VM argümanlarında bir javaagent belirtmem gerekiyor. Bu jar dosyası, maven deposunda yaşar, ancak zaten yapılandırılmış olan M2_REPO Classpath değişkenini (windows ->preferences ->java ->Build Path ->Classpath variable) kullanarak maven deposunun yolunu belirtmenin bir yolunu bulamıyorum.
Yapmak istediğim, bunu VM argümanlarım olarak kullanmaktır, ancak classpath_var'un gerçek bir değişken olmadığı için kullanamazsınız.Yürütme yapılandırması VM arguments

-javaagent:${classpath_var:M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar 

VM argümanlar içinde M2_REPO değerini erişmenin başka bir yolu var mı?

+0

Sadece bir başkası benim yaptığım gibi soruyu kaçırıyorsa: '$ {env_var: VAR_NAME}' kullanılabilir. Repo'm% M2_HOME% 'nin altında olduğundan bu benim için çalışıyor: -javaagent: $ {env_var: M2_HOME}/deposu/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar' – xverges

cevap

4

Bu tam olarak sizin için sormadığınız bir şey değil, ancak bizim bir kod tabanı paylaşma biçimimiz ve bizim çalışan yapılandırmalarımızda sabit kodlanmış yollar olmaması için çalıştı. Bir classpath değişkeni kullanmak yerine, bir dize değiştirme değişkeni kullanın (windows -> preferences -> run/debug -> String Substitution'da yapılandırılmış). M2_REPO'nun değeriyle aynı yola ayarlayın ve kaydedin. VM Argüman

-javaagent:${M2_REPO}/org/apache/openjpa/openjpa/2.1.0/openjpa-2.1.0.jar 

daha da açık olmak gerekirse olurdu Yukarıdaki örnekte dize ikame değişken adı da M2_REPO, eğer kullanarak, ben şahsen sadece açık JPA kavanoza doğrudan gitti bir openjpa_2_1_0_agent dize ikame değişken yaratacak .