Docker-Container中的jHipster中的Maven-Wrapper:FileNotFoundException

时间:2016-07-13 18:09:49

标签: bash maven docker jhipster

我在一个运行在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目录为空。

1 个答案:

答案 0 :(得分:2)

我假设您将vm中的maven文件夹映射到docker容器中的/home/jhipster/.m2文件夹,如教程说明所示。我发现如果vm还没有安装maven,则vm中的〜/ .m2文件夹是使用root owner创建的。不确定如何或为什么。因此,docker容器中的jhipster用户无权写入/home/jhipster/.m2文件夹。您应该能够通过更改文件夹的所有者(从vm中)到用于运行docker的用户来修复它。