[英]How to embed a javaagent in spring boot app using boot gradle plugin
我正在為我的spring boot應用程序使用javaagent,目前正在通過
java -javaagent:agent.jar -jar app.jar
我的項目是gradle項目,我想將agent.jar嵌入到app.jar中,這樣我就可以像
java -javaagent:app.jar -jar app.jar
它可以通過啟動Maven插件來完成這里提到- https://jeroendruwe.be/spring-boot-and-new-relic/ ,但沒有辦法,對於引導gradle這個插件。 我找到的最接近的是這個-https://jdpgrailsdev.github.io/blog/2014/04/08/spring_boot_gradle_newrelic.html ,但是它沒有按預期的方式嵌入jar。
無論如何,可以通過gradle完成它嗎?
可以從本地目錄添加為依賴項jar。 “ libs”是項目內的目錄。
依賴項{編譯fileTree(dir:'libs',包括:'* .jar')}
搖籃罐:
jar {
manifest{
attributes "Agent-Class" : "com.......agent.AgentTest"
//attributes "Premain-Class" : "com.......agent.AgentTest"
}
}
雖然,我經常這樣做:
public static void main(String[] args) throws Exception {
String pid = "6236";
String agentPath = "...";
VirtualMachine virtualMachine = com.sun.tools.attach.VirtualMachine.attach(pid);
virtualmachine.loadAgent("/home/aaa/Code/agent-1.0-SNAPSHOT.jar");
virtualMachine.detach();
}
你試過了嗎
java -Xbootclasspath=('your path'/app.jar or 'your path to libs'/agent.jar) -javaagent:'your path'/app.jar -jar 'your path'/app.jar
?
另一種方法:使用jar作為依賴項,並在Spring Boot應用程序jar中移動(或創建另一個)您的premain類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.