Rumah > Java > javaTutorial > teks badan

Bagaimanakah saya boleh menyelesaikan \'NoClassDefFoundError\' dalam Maven apabila berjalan dari baris arahan?

Susan Sarandon
Lepaskan: 2024-10-27 04:01:02
asal
838 orang telah melayarinya

How can I resolve the

Resolusi Ketergantungan melalui Shade Plugin untuk NoClassDefFoundError

Dalam pengalaman pertama dengan Maven, ketidakkonsistenan antara Eclipse dan penggunaan baris arahan boleh timbul disebabkan oleh pengurusan pergantungan. Walaupun penciptaan projek Maven dan penambahan kebergantungan berjaya dalam Eclipse, melaksanakan projek melalui baris arahan boleh mengakibatkan NoClassDefFoundError.

Secara lalai, Maven membungkus kebergantungan secara berasingan dan tidak memasukkannya ke dalam fail JAR yang disusun. Peninggalan ini menyebabkan Java VM gagal apabila cuba mencari kelas perpustakaan semasa pelaksanaan.

Daripada menambah perpustakaan secara manual pada laluan kelas, maven-shade-plugin menyediakan penyelesaian yang lebih cekap. Ia mencipta "uber-JAR" yang menggabungkan kelas aplikasi dengan kod perpustakaan yang diperlukan.

Untuk melaksanakan ini, tambah konfigurasi pemalam berikut pada POM anda:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.5.2</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Salin selepas log masuk

Selepas menambah konfigurasi ini, jalankan semula arahan berikut:

$ mvn package
$ java -cp target/bil138_4-0.0.1-SNAPSHOT.jar tr.edu.hacettepe.cs.b21127113.bil138_4.App
Salin selepas log masuk

Untuk pilihan konfigurasi lanjutan, seperti menentukan JAR yang disertakan atau fail JAR boleh laku, rujuk bahagian "Contoh" di tapak web maven-shade-plugin.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyelesaikan \'NoClassDefFoundError\' dalam Maven apabila berjalan dari baris arahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!