簡體   English   中英

org.springframework.boot:spring-boot-maven-plugin:1.5.10.RELEASE:repackage失敗:找不到主類

[英]org.springframework.boot:spring-boot-maven-plugin:1.5.10.RELEASE:repackage failed: Unable t o find main class

我有以下項目結構:

parent pom
   |
   - Core module - pom
   - Dist - pom
   - Integration test - pom

Spring Boot主類位於核心模塊中。 集成測試將進入集成測試文件夾。

我正在嘗試使用spring-boot-maven-plugin進行集成測試。 我已經在集成測試模塊中對以下pom配置進行了相同的配置。 start-class屬性在父pom中設置:

         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>${start-class}</mainClass>
                <layout>JAR</layout>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
                <execution>
                    <id>pre-integration-test</id>
                    <goals>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>post-integration-test</id>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

但是我在父pom上的mvn clean install上收到以下錯誤:

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.10.RELEASE:start (pre-integration-test) on pro

主題:Spring應用程序未在配置的超時(30000ms-> [Help 1] [ERROR])之前啟動

問題:

  1. 這個項目結構是組織集成測試的最佳方法嗎?
  2. 如何以及在何處正確地將主類的路徑正確地提供給spring-boot-maven-plugin? 即使我在集成模塊或父pom中提供了它,即使給出了通常會使用的相對路徑(例如../core-module/),也無法使用
  3. 測試類本身上的maven-failsafe-plugin和spring注釋似乎足以運行集成測試。 那么首先集成測試和Spring Boot Maven插件之間有什么關系嗎? 除了打包成可執行文件之外,spring boot maven插件還有什么需要。 我很困惑,因為它的目標是開始集成前測試和集成后測試,但是我不明白為什么需要它。

PS:我檢查了一些類似問題的問題,但沒有一個回答我針對給定項目結構所提出的問題。

我只是遇到了與您相同的錯誤(重新打包失敗:無法找到主類),試圖將一些Spring代碼推廣到一個通用的spring boot項目中。 事實證明這是不可能的,因為Spring啟動項目需要一個帶有main方法的類。

我使用對我所需的spring框架模塊的直接依賴關系解決了我的問題,也許您可​​以在集成測試項目中做到這一點。

但是,我不知道您要在單獨的項目中運行哪種測試,但是與核心模塊有關的測試必須在使用Spring測試的核心模塊本身中,而不是在單獨的項目中。 (在需要的地方使用模擬)。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM