Cara Menambah Jar pada Maven 2 Bina Classpath tanpa Memasangnya
Memahami Cabaran
🎜>Maven 2 boleh mengecewakan semasa percubaan dan prototaip pantas. Mencipta fail pom.xml dan memasang perpustakaan pihak ke-3 untuk setiap kebergantungan adalah proses yang membosankan. Artikel ini meneroka cara memasukkan balang yang terletak dalam direktori tertentu (/lib) dalam laluan kelas binaan tanpa pemasangan eksplisit.
Pendekatan Cacat
Pelbagai penyelesaian dalam talian mencadangkan memasang kebergantungan kepada repositori tempatan atau menentukan skop "sistem" dalam pom. Walau bagaimanapun, kedua-dua pendekatan mempunyai kelemahan:
- Pemasangan Repositori Tempatan: Kebergantungan kekal dalam repositori tempatan, menjadikannya tidak tersedia di tempat lain.
- Skop Sistem : Balang tidak dipasang atau dilekatkan pada pakej sasaran, mengakibatkan tidak dapat diselesaikan kebergantungan dalam pakej pengedaran.
Penyelesaian Repositori Dalam Projek Statik
Dengan menambahkan repositori pada pom.xml dengan struktur tertentu, Maven akan mencari balang dalam direktori dalam projek:
<repository>
<id>repo</id>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>file://${project.basedir}/repo</url>
</repository>
Salin selepas log masuk
Menggunakan Maven untuk Memasang ke Projek Repo
Daripada mencipta struktur direktori secara manual, gunakan arahan berikut untuk memasang balang sebagai artifak:
mvn install:install-file -DlocalRepositoryPath=repo -DcreateChecksum=true -Dpackaging=jar -Dfile=[your-jar] -DgroupId=[...] -DartifactId=[...] -Dversion=[...]
Salin selepas log masuk
Sertakan Kebergantungan dalam Sasaran Pakej
Untuk memastikan pakej sasaran termasuk semua kebergantungan, gunakan pemalam Assembly atau OneJar. OneJar memudahkan proses ini dengan dokumentasi ringkasnya.
Atas ialah kandungan terperinci Bagaimana untuk Menambah JAR pada Laluan Kelas Bina Maven 2 Tanpa Memasangnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!