Javascript 我可以从docker运行maven工件吗

Javascript 我可以从docker运行maven工件吗,javascript,maven,docker,rhino,Javascript,Maven,Docker,Rhino,我的目标是使用maven:latest设置Dockerfile,以便能够使用最新版本的org.mozilla.rhino FROM maven:latest RUN [ "mvn", "dependency:get", "-Dartifact=org.mozilla:rhino:LATEST:jar" ] RUN [ "mvn", "exec:java" "-Dexec.mainClass='org.mozilla.javascript.tools.shell.Main'" "-Dexec.ar

我的目标是使用maven:latest设置Dockerfile,以便能够使用最新版本的
org.mozilla.rhino

FROM maven:latest
RUN [ "mvn", "dependency:get", "-Dartifact=org.mozilla:rhino:LATEST:jar" ]
RUN [ "mvn", "exec:java" "-Dexec.mainClass='org.mozilla.javascript.tools.shell.Main'" "-Dexec.args='src/index.js'"]
我是否需要一个pom.xml来实现这一点,如果需要的话 由于我的项目只有javascript文件,我的pom.xml应该包含什么?


PS:我以前没有使用maven的经验,正如您所希望的,您的项目并不真正需要
pom.xml
。我不知道您是否需要完全可移植,但这里有一个我根据
maven:latest
模拟的东西。这是通过利用下载的rhino jar文件包含一个
MANIFEST.MF
文件来实现的,该文件告诉
java
命令如何执行它

rhino-1.7.10.jar的内容:/META-INF/MANIFEST.MF

Manifest-Version: 1.0
Main-Class: org.mozilla.javascript.tools.shell.Main
Implementation-Version: 1.7.10
Implementation-Title: Mozilla Rhino
Implementation-Vendor: Mozilla Foundation
Implementation-URL: http://www.mozilla.org/rhino
Built-Date: 2018-04-09
Built-Time: 20:03:34
因此:

index.js

print("Hello world");
命令行

$ mvn dependency:get -Dartifact=org.mozilla:rhino:LATEST:jar # as you have currently
... # maven output snipped
$ find .m2 -name rhino*.jar -exec java -jar {} index.js \;
Hello world!
Dockerfile(未经测试)

编辑:


我还应该注意,
.m2
用户子目录包含一个存储库,其中包含maven下载的所有工件。
maven:latest
Dockerfile似乎在/root/

下设置了这个问题,上面引用的问题的可能重复部分回答了我的问题,但我需要一些关于
pom.xml的帮助
FROM maven:latest
# Missing here is you copying your javascript into the image
RUN [ "mvn", "dependency:get", "-Dartifact=org.mozilla:rhino:LATEST:jar" ]
RUN [ "find", "/root/.m2", "-name", "rhino*.jar", "-exec", "java", "-jar", "{}", "src/index.js", "\;" ]