spring boot deploy with javaagent

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

spring boot 通常会打成一个fatjar的方式启动,如果我们本地启动(增加agent)则是这样子:

java -javaagent:/path/myAgent.jar -jar myFat.jar

但是部署到生产环境,绝对路径是会变的,所以两种方案:

和fatjar放在同一目录下,/target


            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    com.demo.Application
                
            

            
                org.apache.maven.plugins
                maven-dependency-plugin
                
                    
                        copy
                        package
                        
                            copy
                        
                        
                            
                                
                                    com.demo
                                    myAgent
                                    x.x.x
                                    jar
                                    false
                                    ${project.build.directory}
                                
                            
                        
                    
                
            

        
  1. 指定spring boot maven plugin的mainClass属性
  2. 使用maven copy 插件,将 myAgent.jar 复制到target目录
  3. docker脚本
COPY ./ztarget/springBootApp.jar /path/
COPY ./target/myAgent.jar /path/
  1. 服务器上可执行脚本 java -javaagent:myAgent.jar -jar myFat.jar

将agent打包至fatJar中

参考: Including Java Agent in Standalone Spring Boot Application

效果:java -javaagent:myFat.jar -jar myFat.jar

转载于:https://my.oschina.net/tigerlene/blog/3045085

你可能感兴趣的:(spring boot deploy with javaagent)