当前位置: 首页 > 知识库问答 >
问题:

目标组织执行默认值。springframework。启动:spring boot maven插件:1.2.3。版本:重新打包失败:源必须引用现有文件

终育
2023-03-14

我想使用maven-jar-plugin来构建diff分类器jars,例如:

MVN部署:部署-P调试,classifier-demo-0.0.1-debug.jar部署

mvn部署:部署-P测试,分类器-demo-0.0.1-test。jar已部署。

但失败:

Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.2.3.RELEASE:repackage failed: Source must refer to an existing file

pom。xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.3.RELEASE</version>
</parent>
<groupId>org.lenic</groupId>
<artifactId>classifier-demo</artifactId>
<version>0.0.1</version>
<properties>
    <java.version>1.7</java.version>
</properties>

<distributionManagement>
    <repository>
        <id>local-repo</id>
        <url>file://D:\repo</url>
    </repository>
</distributionManagement>

<profiles>
    <profile>
        <id>test</id>
        <properties>
            <classifier>test</classifier>
        </properties>
    </profile>
    <profile>
        <id>debug</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <classifier>debug</classifier>
        </properties>
    </profile>
</profiles>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <classifier>${classifier}</classifier>
            </configuration>
        </plugin>
    </plugins>
</build>

共有3个答案

丁文轩
2023-03-14

实际上,如果您设置Spring Boot Maven插件,您已经将spring-boot: repack包含在包中。所以只需“mvn清洁包”就足够了,我们不需要“mvn包spring-boot: repack”。

岑畅
2023-03-14

我想这就是原因:

<代码>此。项目getArtifact()。getFile()

spring-boot-maven-plugin\src\main\java\org\springFramework\boot\maven\RepackageMojo.java

public void execute() throws MojoExecutionException, MojoFailureException {
    // ......

    File source = this.project.getArtifact().getFile();
    File target = getTargetFile();
    Repackager repackager = new Repackager(source) {
        @Override
        protected String findMainMethod(JarFile source) throws IOException {
            long startTime = System.currentTimeMillis();
            try {
                return super.findMainMethod(source);
            }
            finally {
                long duration = System.currentTimeMillis() - startTime;
                if (duration > FIND_WARNING_TIMEOUT) {
                    getLog().warn(
                            "Searching for the main-class is taking some time, "
                                    + "consider using the mainClass configuration "
                                    + "parameter");
                }
            }
        }
    };
    // ......
}
宰父才
2023-03-14

目标:重新打包重新打包尝试重新打包原始工件,即projectName。罐子这是maven默认包阶段的结果,即mvn包命令输出。

当重新打包目标执行时,它会尝试查找projectName。罐子

当你运行mvn spring-boot:包时,项目Name.jar不在那里。这就是为什么它给出错误源必须引用现有文件

解决方案:运行命令mvn clean package spring boot:重新打包

 类似资料:
  • 我是Spring的新手,我试着按照它的官方网站上给出的教程进行操作,突然出现了这个错误。 以下是我的pom。xml 4.0.0组织。springframework。boot spring boot starter父代2.5.5 com。Spring Boot后端示例0.0.1-SNAPSHOT后端演示项目 知道为什么不起作用吗?我已经尝试了许多基于别人错误的方法,但都不起作用。现在有点沮丧。任何帮

  • 我尝试运行一个Spring Boot应用程序,该应用程序是用maven Spring Boot:run运行的,但我仍然有一个问题,我是java Spring Boot的新手,我无法解决这个问题,如何解决这个问题,谢谢,问题如下: 执行目标组织失败。springframework。启动:spring boot maven插件:2.1.3。版本:在project app上运行(默认cli):运行时发生

  • 我有以下项目结构: Spring boot主类位于核心模块中。集成测试将进入集成测试文件夹。 我正在尝试使用spring-boot-maven-plugin进行集成测试。我在集成测试模块中对其进行了以下pom配置。开始类属性在父pom中设置: 但是,我在父pom上的mvn clean安装中遇到以下错误: ject:Spring应用程序在配置的超时(30000ms)之前没有启动- 问题: 这个项目结

  • 运行Maven测试时出现此错误 执行目标组织失败。阿帕奇。专家插件:maven插件插件:3.2:项目amsframeworok上的描述符(默认描述符):提取插件描述符时出错:“未找到插件:ams5的mojo定义。0:amsframeworok。'- 下面是我的pom。xml

  • 执行目标组织失败。阿帕奇。专家插件:maven surefire插件:2.5-r682619-maestro-2.0.0:project ms61 webservice xxxx上的测试(默认测试):存在测试失败。这意味着什么以及如何解决它。我第一次做maven build。

  • 是否可以以某种方式配置Spring引导maven插件以包括来自依赖项的资源。 例如,如果在我的spring boot项目中,我有: 在这个JAR文件中有一个属性文件,如 结果1。 但是,当我构建SpringBootJAR时,这个属性文件并没有添加到。包含它的JAR包含在 然而,在我的情况下。我想将的内容提取到Spring BootJAR的引导目录中,这样就可以进行自动配置。 在现实世界中,我试图通