使用maven将第三方包上传到我自己的maven仓库服务器
Upload third party packages to my own maven repository server using maven
我正在尝试将第三方包(例如 junit )上传到我自己的存储库服务器。
我做了以下事情:
1)在~/.m2/settings.xml
中添加了以下内容
<server>
<id>thirdparty</id>
<privateKey></privateKey>
<passphrase></passphrase>
</server>
2) 访问了一个已经缓存在我的本地机器上 ~/.m2/repository/junit/junit/3.8.1
的包
3)发出以下命令将包上传到我的远程存储库
mvn deploy -DaltDeploymentRepository=thirdparty::default::http://localhost:8000/mavenrepository/thirdparty
出现以下错误:
ERROR] The goal you specified requires a project to execute but there is no POM in this directory
(/Users/myuser/.m2/repository/junit/junit/3.8.1). Please verify you invoked Maven from the correct directory. -> [Help 1]
org.apache.maven.lifecycle.MissingProjectException: The goal you specified requires a project to execute but there is no POM in this directory (/Users/myuser/.m2/repository/junit/junit/3.8.1). Please verify you invoked Maven from the correct directory.
at
这个目录下没有pom.xml,但是有一个叫junit-3.8的文件。1.pom
如果我将 junit-3.8.1.pom 重命名为 pom.xml,然后发出上面的部署命令,那么一切正常,maven 能够将包部署到我的存储库。
为什么我的命令不起作用?我们如何在不重命名文件的情况下将包部署到我的远程存储库?我是否发布了错误的命令来部署包?
默认情况下,maven 期望 pom 文件名为 pom.xml。要使用其他名称,请使用 -f 选项,如下所示:
mvn deploy -DaltDeploymentRepository=thirdparty::default::http://localhost:8000/mavenrepository/thirdparty -f junit-3.8.1-pom.xml
我正在尝试将第三方包(例如 junit )上传到我自己的存储库服务器。
我做了以下事情:
1)在~/.m2/settings.xml
<server>
<id>thirdparty</id>
<privateKey></privateKey>
<passphrase></passphrase>
</server>
2) 访问了一个已经缓存在我的本地机器上 ~/.m2/repository/junit/junit/3.8.1
的包
3)发出以下命令将包上传到我的远程存储库
mvn deploy -DaltDeploymentRepository=thirdparty::default::http://localhost:8000/mavenrepository/thirdparty
出现以下错误:
ERROR] The goal you specified requires a project to execute but there is no POM in this directory
(/Users/myuser/.m2/repository/junit/junit/3.8.1). Please verify you invoked Maven from the correct directory. -> [Help 1]
org.apache.maven.lifecycle.MissingProjectException: The goal you specified requires a project to execute but there is no POM in this directory (/Users/myuser/.m2/repository/junit/junit/3.8.1). Please verify you invoked Maven from the correct directory.
at
这个目录下没有pom.xml,但是有一个叫junit-3.8的文件。1.pom
如果我将 junit-3.8.1.pom 重命名为 pom.xml,然后发出上面的部署命令,那么一切正常,maven 能够将包部署到我的存储库。
为什么我的命令不起作用?我们如何在不重命名文件的情况下将包部署到我的远程存储库?我是否发布了错误的命令来部署包?
默认情况下,maven 期望 pom 文件名为 pom.xml。要使用其他名称,请使用 -f 选项,如下所示:
mvn deploy -DaltDeploymentRepository=thirdparty::default::http://localhost:8000/mavenrepository/thirdparty -f junit-3.8.1-pom.xml