[英]How to target a specific version of java when making an uberjar using Leiningen
[英]Leiningen java-agents not working in uberjar
在我的Leiningen項目中,我有以下配置:
:java-agents [[com.newrelic.agent.java/newrelic-agent "3.19.2"]]
當在lein repl
運行我的應用程序時,正在運行代理程序,但是當我創建uberjar並運行它時:
java -jar target/proclodo-spa-server-rendering.jar
代理未啟動。 我可以在我的uberjar中包含newrelic-agent.jar並傳遞-javaagent參數,但是我試圖避免在我的存儲庫中有大的二進制blob而不會自動升級(為什么New Relic甚至建議這樣做?)。 我嘗試添加:
:bootclasspath true
由於這個評論:
;; Java agents can instrument and intercept certain VM features. Include
;; :bootclasspath true to place the agent jar on the bootstrap classpath.
但它沒有任何區別。 如何將代理jar放在CLASSPATH中以便我可以驗證它是否正常工作?
我正在使用Jetty,據說它會干擾bootclasspath
,但我不確定它應該如何干擾。 一切似乎運行良好,它只是代理人沒有開始。
如果您自己運行java,則必須自己傳遞VM選項,例如要使用的調試代理。 lein無法將其打包成jar:沒有機制可以做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.