Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用本地maven存储库为google云创建容器映像,而不是使用中央maven存储库_Maven_Docker_Google Cloud Platform_Gcloud_Jfrog Cli - Fatal编程技术网

如何使用本地maven存储库为google云创建容器映像,而不是使用中央maven存储库

如何使用本地maven存储库为google云创建容器映像,而不是使用中央maven存储库,maven,docker,google-cloud-platform,gcloud,jfrog-cli,Maven,Docker,Google Cloud Platform,Gcloud,Jfrog Cli,我正在尝试创建java应用程序的容器映像。应用程序的依赖项在Jfrog存储库或我的本地.m2文件夹上,而不是在central上 当我运行以下命令来构建和上载图像时: gcloud builds submit --tag gcr.io/[PROJECT-ID]/image-name 它尝试从中央存储库下载不可用的依赖项。我已经将maven的settings.xml更改为指向Jfrog存储库,但它仍然不起作用。我认为它应该首先检查本地存储库,然后再去中央存储库 如有任何解释/解决方案,将不胜感激。

我正在尝试创建java应用程序的容器映像。应用程序的依赖项在Jfrog存储库或我的本地.m2文件夹上,而不是在central上

当我运行以下命令来构建和上载图像时:

gcloud builds submit --tag gcr.io/[PROJECT-ID]/image-name
它尝试从中央存储库下载不可用的依赖项。我已经将maven的settings.xml更改为指向Jfrog存储库,但它仍然不起作用。我认为它应该首先检查本地存储库,然后再去中央存储库


如有任何解释/解决方案,将不胜感激。TIA

Maven只在中央回购中搜索依赖项。如果您想从其他地方下载依赖项,必须将其指定到pom.xml中


....

Local.m2 repo仅首先搜索快照版本。如果项目不是快照,则首先搜索中心repo

如果Maven要去Maven Central以外的地方,请告诉它改用镜子。不幸的是,这不能从命令行完成,但需要使用设置文件完成

指向Nexus 3实例的示例~/.m2/settings.xml:

<settings>
    <mirrors>
        <mirror>
            <id>nexus1</id>
            <mirrorOf>external:*</mirrorOf>
            <url>http://nexus/repository/maven-public/</url>
        </mirror>
    </mirrors>
</settings>

关系1
外部:*
http://nexus/repository/maven-public/

请注意,“external:*”表示,如果源代码树中有工件需要Maven在本地解析,则仍然使用本地文件存储库。

Miror是正确的解决方案。您是否仅在.m2(或其他地方)中具有私有依赖关系,而未在JFrog repo中发布?对于Nexus,您可以告诉它将多个存储库合并到一个视图中,然后将其用作镜像URL。我猜Artifactory也可以这样做。你知道
是xml中的注释吗?