Rumah > Java > javaTutorial > teks badan

Cara menggunakan pakej maven untuk menentukan mainClass dalam Springboot

WBOY
Lepaskan: 2023-05-23 19:55:11
ke hadapan
1968 orang telah melayarinya

Gunakan pembungkusan maven untuk menentukan 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>
Salin selepas log masuk

Ralat dan sebab pembungkusan SpringBoot Maven

1.org.springframework.boot:spring-boot-maven-plugin:2.2.1.RELEASE: pembungkusan semula gagal: Tidak dapat mencari kelas utama

2 Tidak dapat mencari simbol kelas utama

Tidak dapat mencari kelas utama Punca masalah

Jika anda menggunakan palam pembungkusan SpringBoot-. dalam seperti berikut

<build>
    <plugins>
         <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
     </plugins>
</build>
Salin selepas log masuk
  • Jika pemalam pembungkusan ini digunakan, maka kita mesti mempunyai kelas beranotasi dengan @SpringBootApplication, jika tidak, pembungkusan semula gagal: Tidak dapat mencari kelas utama akan dilaporkan apabila pembungkusan .

  • Jika pembungkusan projek kami hanyalah kit alat biasa, maka tidak perlu menambah sebarang pemalam pembungkusan Maven menggunakan kaedah lalai untuk membungkusnya untuk kami tanpa konfigurasi (anda boleh belajar tentang konfigurasi kaedah lalai maven dalam talian Semak, terdapat banyak dalam talian).

  • Jika projek kami dibina dalam mod pembinaan berbilang peringkat (berbilang modul), ia hanyalah modul biasa semasa pembungkusan, tetapi pembungkusan semula gagal: Tidak dapat mencari ralat kelas utama ialah masih dilaporkan, ini Kemudian kami menyemak sama ada projek induk modul telah menambah pemalam pembungkusan SpringBoot, kerana pemalam pembungkusan juga akan diwarisi. Oleh itu, adalah disyorkan untuk tidak menambah pemalam pembungkusan SpringBoot secara langsung pada projek induk untuk kemudahan Sebaliknya, Modul perlu dibungkus sebagai projek SpringBoot dan kemudian pemalam pembungkusan SpringBoot ditambahkan.

  • Mengenai kaedah pembungkusan lalai maven (seperti yang ditunjukkan di bawah), pakej dibungkus dalam mod jar, jadi tidak perlu mengkonfigurasi pom.xml, melainkan kami hanya membungkusnya sebagai pom, kita boleh mengkonfigurasi< ;pembungkusan>pom, jika tidak, tidak perlu mengkonfigurasinya. Sudah tentu, peringkat teratas multi-modul mestilah kaedah pembungkusan pom.

Cara menggunakan pakej maven untuk menentukan mainClass dalam Springboot

Sesuatu projek mempunyai berbilang kelas utama, yang menyebabkan Maven tidak tahu yang mana satu untuk digunakan sebagai pintu masuk utama semasa pembungkusan set

<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>
Salin selepas log masuk

Punca simbol tidak dijumpai masalah

Sebab ini biasanya apabila kami membungkus projek, kami membungkus projek ke dalam pakej balang dan merujuk modul lain.

Modul lain tidak dibungkus menggunakan kaedah balang Untuk springboot, <packaging>pom</packaging> ditetapkan dalam kes ini, kelas tidak boleh ditemui, jadi kita hanya perlu menetapkan kaedah pembungkusan modul itu kepada <packaging>jar</packaging> . Nota: Ini mungkin menyebabkan Masalah kelas utama tidak dapat ditemui.

Atas ialah kandungan terperinci Cara menggunakan pakej maven untuk menentukan mainClass dalam Springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan