>  기사  >  Java  >  Springboot에서 mainClass를 지정하기 위해 maven 패키지를 사용하는 방법

Springboot에서 mainClass를 지정하기 위해 maven 패키지를 사용하는 방법

WBOY
WBOY앞으로
2023-05-23 19:55:111904검색

maven 패키징을 사용하여 mainClass를 지정하세요

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.xxx.XxxApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

SpringBoot Maven 패키징 오류 및 이유

1.org.springframework.boot:spring-boot-maven-plugin:2.2.1.RELEASE:repackage failed: 메인 클래스를 찾을 수 없습니다

2.메인 클래스를 찾을 수 없습니다. 문제의 원인

다음과 같이 SpringBoot 패키징 플러그인을 사용하는 경우

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

    이 패키징 플러그인을 사용하는 경우 @SpringBootApplication이라는 주석이 붙은 클래스가 있어야 합니다. 그렇지 않으면 패키지화됩니다. 때로는 repackage failed: Unable to find main class를 보고합니다.
  • 우리의 프로젝트 패키징이 그냥 일반적인 툴킷이라면, 어떤 패키징 플러그인도 추가할 필요가 없습니다. Maven은 기본 방법을 사용하여 구성 없이 패키징합니다(기본 Maven에 대해 알아보려면 온라인에서 확인할 수 있습니다). 방법 구성은 온라인에 많이 있습니다).
  • 저희 프로젝트가 다단계 구축(다중 모듈) 방식으로 구축된 경우 패키징 시에는 일반 모듈일 뿐인데 리패키징 실패: 이때도 메인 클래스를 찾을 수 없다는 오류가 계속 보고됩니다. 패키징 플러그인도 상속되므로 프로젝트에 SpringBoot 패키징 플러그인이 추가되었는지 여부를 모듈의 상위 항목에서 확인합니다. 따라서 편의상 상위 프로젝트에 SpringBoot 패키징 플러그인을 직접 추가하지 않는 것이 좋으며, 대신 모듈을 SpringBoot 프로젝트로 패키징한 후 SpringBoot 패키징 플러그인을 추가하는 것이 좋습니다.
  • Maven의 기본 패키징 방법(아래 참조)과 관련하여 패키지는 jar 모드로 패키징되므로 pom.xml을 구성할 필요가 없습니다. 단지 pom으로 패키징하지 않는 한 pom<을 구성할 수 있습니다. ;/packaging> 그렇지 않으면 구성할 필요가 없습니다. 물론 멀티모듈의 최상위 레벨은 폼 패키징 방식이어야 합니다.

Springboot에서 mainClass를 지정하기 위해 maven 패키지를 사용하는 방법A 프로젝트에는 여러 개의 main.class가 있어서 maven은 패키징 시 어떤 클래스를 메인 입구로 사용해야 할지 알 수 없습니다. 여기서는

<build>
 <plugins>
   <plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <configuration>
      	<mainClass>com.demo.springboot.DemoSbApplication</mainClass>
     </configuration>
   </plugin>
 </plugins>
</build>

기호를 찾을 수 없는 문제의 원인

을 설정해야 합니다. 그 이유는 일반적으로 우리가 패키징할 때 패키징된 프로젝트가 jar 패키지이고 다른 모듈을 참조하기 때문입니다.

다른 모듈은 jar에 패키징되어 있지 않습니다. springboot의 경우 그냥 설정하세요

. 참고: 이로 인해 메인 클래스 문제를 찾을 수 없습니다.

위 내용은 Springboot에서 mainClass를 지정하기 위해 maven 패키지를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제