在执行 Maven 的 deploy 命令时出现了以下错误:

[INFO] Scanning for projects...
[INFO]  
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo y
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]  
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ demo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory d:\BaiduNetdiskDownload\newkk\demo\src\main\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ demo ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ demo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory d:\BaiduNetdiskDownload\newkk\demo\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ demo ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.20.1:test (default-test) @ demo ---
[INFO]  
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.example.AppTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s - in com.example.AppTest
[INFO]  
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ demo ---
PS D:\BaiduNetdiskDownload\newkk\demo> & "E:\maven\utf-8' 'apache-maven-3.8.4\apache-maven-3.8.4\bin\mvn.cmd" deploy -f "d:\BaiduNetdiskDownload\newkk\demo\pom.xml"
[INFO] Scanning for projects...
[INFO]  
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo y
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]  
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ demo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory d:\BaiduNetdiskDownload\newkk\demo\src\main\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ demo ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ demo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory d:\BaiduNetdiskDownload\newkk\demo\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ demo ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.20.1:test (default-test) @ demo ---
[INFO]  
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.example.AppTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 s - in com.example.AppTest
[INFO]  
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ demo ---
[INFO]  
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ demo ---
[INFO] Installing d:\BaiduNetdiskDownload\newkk\demo\target\demo-y.jar to D:\BaiduNetdiskDownload\local\com\example\demo\y\demo-y.jar
[INFO] Installing d:\BaiduNetdiskDownload\newkk\demo\pom.xml to D:\BaiduNetdiskDownload\local\com\example\demo\y\demo-y.pom
[INFO] 
[INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ demo ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.521 s
[INFO] Finished at: 2023-04-04T20:40:24+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project demo: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]
[ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

问题原因:

这个问题是在执行 Maven 的 deploy 命令时出现的,提示无法完成部署,原因是在 POM 文件的 distributionManagement 元素中未指定 repository 元素,或者在命令行参数 -DaltDeploymentRepository 中未指定正确的参数。

解决方法:

  1. 在 POM 文件中指定 repository 元素:

    pom.xml 文件中的 <distributionManagement> 节点中添加 <repository> 元素,并指定仓库的 id、url 和 layout,例如:

    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <url>http://your-nexus-server/nexus/content/repositories/releases/</url>
            <layout>default</layout>
        </repository>
    </distributionManagement>
    

    your-nexus-server 替换为实际的 Nexus 服务器地址。

  2. 在命令行中指定 altDeploymentRepository 参数:

    在执行 deploy 命令时,使用 -DaltDeploymentRepository 参数指定仓库信息,例如:

    mvn deploy -DaltDeploymentRepository=id::layout::url
    

    idlayouturl 替换为实际的仓库信息。

示例:

假设要将项目部署到名为 nexus-releases 的 Nexus 仓库,仓库地址为 http://your-nexus-server/nexus/content/repositories/releases/,则可以在 pom.xml 文件中添加以下代码:

<distributionManagement>
    <repository>
        <id>nexus-releases</id>
        <url>http://your-nexus-server/nexus/content/repositories/releases/</url>
        <layout>default</layout>
    </repository>
</distributionManagement>

或者在执行 deploy 命令时添加以下参数:

mvn deploy -DaltDeploymentRepository=nexus-releases::default::http://your-nexus-server/nexus/content/repositories/releases/
Maven Deploy 错误:repository 元素未指定

原文地址: https://www.cveoy.top/t/topic/mYUq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录