Java programımı birden fazla java aracısı ile nasıl başlatırım?


82

Bir java aracısıyla java programına nasıl başlayacağımı biliyorum:

java -javaagent:myAgent.jar MyJavaProgram

Peki ya programıma 2 veya daha fazla java aracısı eklemek istersem? JVM'de yüklemem gereken her ajan için java-javaagent'i yeniden çağırmak istemiyorum.

Bunun gibi bir şey denedim:

java -javaagent:agentA.jar, agentB.jar MyJavaProgram

veya bunun gibi bir şey:

java -javaagent:agentA.jar agentB.jar MyJavaProgram

Ama başarılı olamadım.

Sorunumu çözmek için bir cevap var mı?

Teşekkür ederim.

Yanıtlar:


143

Peki ya iki javaagentparametre?

java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram

57

Görünüşe göre bunu birden çok argüman kullanarak yapabilirsiniz. Gönderen belgeler :

Komut satırı arayüzüne sahip uygulamalarda, bu seçenek komut satırına eklenerek bir aracı başlatılır:

-javaagent:jarpath[=options] 

jarpath , aracı JAR dosyasına giden yoldur. seçenekler , aracı seçenekleridir. Bu anahtar, aynı komut satırında birden çok kez kullanılabilir ve böylece birden çok aracı oluşturur . Birden fazla temsilci aynı jarpatı kullanabilir. Aracı JAR dosyası, JAR dosyası belirtimine uygun olmalıdır.

(vurgum)


2

Yukarıdaki cevaplara ek olarak, eğer karınca kullanıyorsanız ve sunucuyu başlatmak için <jvmargs />birden fazla kavanoz eklemek istiyorsanız -javaagent, işte böyle yaptım,

build.xml

<target name="blah">
...
    <jvmarg value="-javaagent:${jar1.path}" />
    <jvmarg value="-javaagent:${jar2.path}" />
...
</target>

1

Birden çok Java aracısını desteklemeyi amaçlayan yeni bir proje var. Şu anda belirli olanlarla sınırlıdır.

Agent Bond, birçok başka ajanı saran ve dağıtan bir süper ajandır. Bu şekilde, JVM'nizde tek bir konfigürasyon verisi setiyle (birden çok ayrı parça içeren) tek bir aracı kurmanız gerekir.

Ayrıntılar için https://github.com/fabric8io/agent-bond/blob/master/README.md adresine bakın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.