我有一个运行正常的java docker容器。但是对于乐器我添加了一个新的jvm参数" javaagent"在运行jar文件时。但是jar文件不存在于docker容器中,而是存在于远程maven存储库中。如何将maven jar文件添加到docker容器中,以便在运行jar文件时我可以传递javaagent路径。
java -jar -javaagent:"/Users/xxx/work/aspectjweaver-1.8.9.jar" ./target/scala-2.11/test-1.0.jar
有什么方法可以将这个文件从maven(而不是我的本地系统)添加到docker容器中?
答案 0 :(得分:0)
在您Dockerfile
中,您可以使用COPY
命令
实施例
COPY ./aspectjweaver-1.8.9.jar /container/folder
现在,jar
将在您的泊坞广告容器中提供。
答案 1 :(得分:0)
使用SBT,您可以在项目配置中添加以下设置:
.settings(
retrieveManaged := true,
libraryDependencies += "org.aspectj" % "aspectjweaver" % aspectJWeaverV)
AspectJ weaver JAR将复制到项目根目录中的./lib_managed/jars/org.aspectj/aspectjweaver/aspectjweaver-[aspectJWeaverV].jar
。
然后,您可以在Dockerfile
中引用此JAR:
COPY ./lib_managed/jars/org.aspectj/aspectjweaver/aspectjweaver-*.jar /app-workdir/aspectjweaver.jar
WORKDIR /app-workdir
CMD ["java", "-javaagent:aspectjweaver.jar", "-jar", "app.jar"]