如何将maven jar文件添加到docker容器

如何将maven jar文件添加到docker容器,docker,sbt,maven-3,dockerfile,Docker,Sbt,Maven 3,Dockerfile,我有一个运行良好的java docker容器。但在运行jar文件时,我在仪器中添加了一个新的jvm参数“javaagent”。但是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 是

我有一个运行良好的java docker容器。但在运行jar文件时,我在仪器中添加了一个新的jvm参数“javaagent”。但是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容器中?

在您的
Dockerfile
中,您可以使用
COPY
命令

范例

COPY ./aspectjweaver-1.8.9.jar /container/folder

现在,
jar
将在docker容器上可用。

Dockerfile
中,可以使用
COPY
命令

范例

COPY ./aspectjweaver-1.8.9.jar /container/folder

现在,
jar
将在docker容器上可用。

使用SBT,您可以在项目配置中添加以下设置:

.settings(
  retrieveManaged := true,
  libraryDependencies += "org.aspectj" % "aspectjweaver" % aspectJWeaverV)
AspectJ weaver JAR将被复制到项目根目录中的
/lib\u 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"]

使用SBT,您可以在项目配置中添加以下设置:

.settings(
  retrieveManaged := true,
  libraryDependencies += "org.aspectj" % "aspectjweaver" % aspectJWeaverV)
AspectJ weaver JAR将被复制到项目根目录中的
/lib\u 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"]