我在一个运行在lubuntu 16.4上的vm中安装了docker。然后我根据this教程拉出容器 jhipster / jhipster 。使用docker exec -it jhipster bash
访问它可以正常工作,也可以通过yo jhipster
创建应用的过程。但是,当我想通过./mvnw
使用maven包装器运行它时,会发生以下错误(在不到一秒钟之后):
Downloading https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
Exception in thread "main" java.io.FileNotFoundException: /home/jhipster/.m2/wrapper/dists/apache-maven-3.3.9-bin/2609u9g41na2l7ogackmif6fj2/apache-maven-3.3.9-bin.zip.part (No such file or directory)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
at org.apache.maven.wrapper.DefaultDownloader.downloadInternal(DefaultDownloader.java:69)
at org.apache.maven.wrapper.DefaultDownloader.download(DefaultDownloader.java:60)
at org.apache.maven.wrapper.Installer.createDist(Installer.java:64)
at org.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:121)
at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:50)
容器内部似乎没有安装maven,但这就是mvnw的用途,对吧?无论如何,由于缺乏su权利(sudo没有被发现,su工作&#34;仅来自终端&#34;),因此无法在我自己(容器内)安装maven。
我不知道这里有什么问题......你能帮忙吗?
PS:.m2目录为空。
答案 0 :(得分:2)
我假设您将vm中的maven文件夹映射到docker容器中的/home/jhipster/.m2文件夹,如教程说明所示。我发现如果vm还没有安装maven,则vm中的〜/ .m2文件夹是使用root owner创建的。不确定如何或为什么。因此,docker容器中的jhipster用户无权写入/home/jhipster/.m2文件夹。您应该能够通过更改文件夹的所有者(从vm中)到用于运行docker的用户来修复它。