programing

목표 org.springframework의 실행 기본값입니다.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage 실패:원본이 기존 파일을 참조해야 합니다.

bestprogram 2023. 9. 19. 21:19

목표 org.springframework의 실행 기본값입니다.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage 실패:원본이 기존 파일을 참조해야 합니다.

Spring을 사용한 첫 번째 프로젝트이며(Maven도 경험이 많지 않습니다) 실행 시 제목에 오류가 발생합니다.mvn package.

이건 내 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>

    <groupId>hu.infolaverage.europress.imageprovider</groupId>
    <artifactId>imageprovider</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.0.2.RELEASE</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <start-class>hu.infolaverage.europress.imageprovider.App</start-class>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>2.7.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>2.7.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http-jetty</artifactId>
            <version>2.7.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-security</artifactId>
            <version>2.7.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.security</groupId>
            <artifactId>wss4j</artifactId>
            <version>1.5.6</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>1.7.1</version>
        </dependency>
        <dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>1.10</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.0.2.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/libs-snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
    </pluginRepositories>
</project>

여기 완전한 오류가 있습니다.

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building imageprovider 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ imageprovider ---
[INFO] 
[INFO] --- spring-boot-maven-plugin:1.0.2.RELEASE:repackage (default) @ imageprovider ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.451 s
[INFO] Finished at: 2014-05-06T09:06:49+01:00
[INFO] Final Memory: 13M/167M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage (default) on project imageprovider: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage failed: Source must refer to an existing file -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage (default) on project imageprovider: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage failed: Source must refer to an existing file
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.0.2.RELEASE:repackage failed: Source must refer to an existing file
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:144)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    ... 19 more
Caused by: java.lang.IllegalArgumentException: Source must refer to an existing file
    at org.springframework.boot.loader.tools.Repackager.<init>(Repackager.java:56)
    at org.springframework.boot.maven.RepackageMojo$1.<init>(RepackageMojo.java:102)
    at org.springframework.boot.maven.RepackageMojo.execute(RepackageMojo.java:102)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
    ... 20 more
[ERROR] 
[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/PluginExecutionException

같은 일이 발생합니다.version그리고.executions로부터spring-boot-maven-plugin.

해라mvn install달리기 전에spring-boot:repackage:

mvn clean install spring-boot:repackage

네, 오류를 발견했습니다.나는 그것을 바꿀 필요가 있었습니다.packaging에 매개 변수를 지정합니다.jar부터pom. 그리고 또.repositories,pluginRepositories,그maven-compiler-plugin그리고.spring-boot-maven-pluginversion그리고.executions필요 없었습니다.

내 경험을 추가하는 것 뿐입니다.

제안된 해결책 중 아무 것도 효과가 없었습니다..m2 폴더에 다운로드된 스프링부트-메이븐-플러그인에 문제가 있다는 것을 알았습니다.플러그인을 삭제하고 "mvn clean install"이 재다운로드 및 빌드할 수 있도록 한 것이 효과가 있었습니다.

프로젝트가 멀티 모듈인 경우, 앱 클래스가 어디에 있는지 염두에 두십시오.저는 이 일을 하기 위해 세 가지 일을 해야 했습니다.

  1. 항상 당신의 폼에 중요한 변화를 줄 때처럼 IDE에서 메이븐 > 업데이트 프로젝트를 수행합니다.

  2. 다른 사람들이 제안한 대로:

    mvn clean install spring-boot:repackage
    
    
  3. 아직도 효과가 없었어요...제 앱의 부모님으로부터.제 앱은 몰티모듈이고 모듈 중 하나는 스프링어플리케이션 클래스가 있습니다.해당 모듈에서 재패키지 목표를 실행할 때만 지방병이 제대로 생성됩니다. 그렇지 않으면 다음과 같은 결과가 나타납니다.

Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:2.4.1:repackage failed: Unable to find main class

빌드는 메인 클래스를 가진 모듈이 의존하는 모듈에서 시작되기 때문에, 물론 이 모듈들은 앱의 메인 클래스를 보유하지 않습니다.

원자로 의존성 감지에 따라 프로젝트를 두 번의 샷으로 수행하는 것이 아니라 한 번의 샷으로 프로젝트를 구축하고 싶기 때문에 그 이유를 계속 조사하고 있습니다. CI 자동화에는 추한 것을 제외하고는 상당히 불편합니다.

저는 모든 의존성을 다시 설치하는 것이 요령이었습니다.

이 작업은 두 가지 방법으로 수행할 수 있습니다.

  • 사용.mvn dependency:purge-local-repository지역 의존 관계를 모두 삭제하다
  • 그냥 m2/repository 폴더에 있는 모든 것을 삭제하고 mvn 명령을 사용하는 것을 제안합니다.

그 다음에, a까지 따라갑니다.mvn clean install모든 종속성을 다시 로드합니다.

제 경우에 정확한 오류 메시지는 다음과 같습니다.

목표 org.spring 프레임워크를 실행하지 못했습니다.boot:spring-boot-maven-plugin:1.5.14.RELEASE:repackage 잘못된 엔트리 크기(1바이트 예상)

저는 텅 빈 청정 스프링부트 프로젝트를 만들려다가 모든 것이 괜찮은지 확인하기 위해 이 프로젝트를 만들고 싶었습니다.application.properties 파일이 비어 있어서 오류가 발생했음을 알게 되었습니다.작성되었지만 텍스트가 없습니다.속성(예: server.port: 19999)을 추가한 후 프로젝트가 성공적으로 빌드되었습니다.

저는 API 비호환성 예외였습니다.다에 spring-boot-maven-plugin

API가 호환되지 않아 플러그인 스프링 부트 메이븐 플러그인에 Mojo 'repackage'로드할 수 없음을 참조하십시오.

했습니다.pom.xml

<plugins>
 <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
      <skip>true</skip>
    </configuration>
 </plugin>
.
.
.
</plugins>

원천

intelliJ 커뮤니티를 사용하는 경우 목록에 있는 것은 아무것도 작동하지 않습니다.Eclipse로 전환하여 POM 파일이나 설정을 변경하지 않고 start.spring.io 에서 기본 설정으로 스프링 프로젝트를 실행할 수 있었습니다.inteliJ 커뮤니티는 봄 프로젝트를 혼란스럽게 만드는 것 같습니다.

간단히 변경하기 전에 다른 IDE를 시도해 보십시오.start.spring.io 설정은 패키지대로 작동해야 합니다.

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

언급URL : https://stackoverflow.com/questions/23488093/execution-default-of-goal-org-springframework-bootspring-boot-maven-plugin1-0