Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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部署到相对目录路径_Maven - Fatal编程技术网

Maven部署到相对目录路径

Maven部署到相对目录路径,maven,Maven,我可以部署到绝对目录: <distributionManagement> <repository> <id>absolute directory</id> <url>file:///home/tukushan/workspace/omcutil/repo</url> </repository> </distributionManagement> 绝对

我可以部署到绝对目录:

<distributionManagement>
    <repository>
        <id>absolute directory</id>
        <url>file:///home/tukushan/workspace/omcutil/repo</url>
    </repository>
</distributionManagement>

绝对目录
file:///home/tukushan/workspace/omcutil/repo

但是如何部署到相对于项目目录的目录中呢?

我认为这是不可能的。文件URL需要服务器上的装入点,例如:

file://hostname/path/to/file
因此,对于本地文件系统上的文件,只需省略“hostname”组件(解释3个主要斜杠):


另一方面,相对路径假定远程文件系统中的起始位置。。。如果希望URL明确无误,则无法支持的内容。

在使用
-DaltDeploymentRepository
参数时,可以指定相对目录,例如:

mvn deploy -DaltDeploymentRepository=snapshot-repo::default::file:../../my-local-snapshots-dir
文件URL相对于运行
mvn
的目录


有关
altDeploymentRepository
参数的更多信息,请参阅。

问题是您为什么要这样做?我的源存储库中有一个二进制文件的repo目录,它被推送到谷歌代码,并成为该项目的公共maven存储库。我不确定是否有其他方法可以在Google代码上托管一个公共maven存储库?情况有变吗?3年前我没有使用maven,但我觉得类似于OP的结构在
文件:${basedir}/..
这些天工作得很好。我尝试了相对路径,它工作得很好:/(使用maven 3.6.0)。实际上,我首先尝试使用绝对路径,但遇到一个错误,说它没有找到给定的相对路径对我不起作用,我得到:
ArtifactDeployerException:检索远程元数据失败[my group]:[my artifact]:1.0-SNAPSHOT/maven-metadata.xml:无法传输元数据[my group]:[my artifact]:1.0-SNAPSHOT/maven-metadata.xml from/to SNAPSHOT repo::default(文件:../nexus\u test/snapshots):[my.m2 path]\repository\[install jar folder]\1.0-SNAPSHOT\maven metadata SNAPSHOT repo::default.xml.part.lock(文件名、目录名或卷标语法不正确)->[Help 1]
mvn deploy -DaltDeploymentRepository=snapshot-repo::default::file:../../my-local-snapshots-dir