Rumah > Java > javaTutorial > Apakah kaedah untuk balang pembungkusan dalam projek Java Maven?

Apakah kaedah untuk balang pembungkusan dalam projek Java Maven?

WBOY
Lepaskan: 2023-04-29 18:31:14
ke hadapan
2594 orang telah melayarinya

Pembungkusan Maven secara amnya boleh menghasilkan dua jenis pakej: satu ialah pakej yang boleh dijalankan secara terus, dan satu lagi adalah pakej bergantung (hanya pakej yang disusun). Maven packages jar secara lalai, jika anda perlu mengubah suai jenis lain. Anda boleh mengubah suai pom.xml

<packaging>jar/ear/ejb</packaging>
Salin selepas log masuk

Pemalam yang diperkenalkan secara lalai dalam projek Maven:

Apakah kaedah untuk balang pembungkusan dalam projek Java Maven?

1 balang (tidak boleh Jalankan )

Balang yang dijana hanyalah pakej yang disusun dan tidak membungkus pakej balang bergantung. Ia boleh dilihat daripada log kompilasi konsol bahawa pemalam maven-jar-plugin:2.4 digunakan.

pemalam kompilasi java, anda boleh menetapkan versi jdk, dsb. (Jika anda tidak menetapkannya, gunakan lalai, anda tidak perlu menetapkannya

<!-- java编译插件 -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>
Salin selepas log masuk

Kaedah 1: Kaedah baris arahan

Pelaksanaan konsol mvn pakej bersih

Kaedah 2: Operasi tetikus

Maven->Plugins->clean->package

2 Jar

Balang yang dihasilkan jenis ini secara amnya boleh dijalankan terus melalui kaedah java -jar

Kaedah 1: Rangka kerja SpringBoot ( bergantung pada balang)

Kaedah ini adalah menggunakan pemalam spring-boot-maven-plugin untuk pembungkusan

Langkah 2: Pelaksanaan konsolApakah kaedah untuk balang pembungkusan dalam projek Java Maven?.

mvn clean package spring-boot:repackageNota: Jika induk (pilihan) dinyatakan dalam fail pom semasa

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.4.0</version>
    <configuration>
        <fork>true</fork>
        <!--指定启动的入口,可以省略,springboot会自动查找启动类-->
        <mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
    </configuration>
</plugin>
Salin selepas log masuk

Arahan konsol hanya perlu dilaksanakanpakej bersih mvn

Kaedah 2: Pakej kebergantungan dan Pemisahan pakej projek (bergantung pada lib direktori luaran)

Apakah kaedah untuk balang pembungkusan dalam projek Java Maven? Keluarkan pakej JAR yang bergantung kepada direktori lib (kaedah pembungkusan adalah biasa untuk projek JAVA ini memerlukan pengenalan pemalam maven-jar-plugin

Langkah 1: Tambahkan
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.0</version>
</parent>
Salin selepas log masuk
pada pom.xml

Langkah 2: Pelaksanaan konsol

mvn clean dependency :copy-dependencies -DoutputDirectory=target/ pakej libNota: Jika kita ingin memudahkan arahan pelaksanaan konsol, kita boleh menambah konfigurasi pemalam

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>
Salin selepas log masuk

dan kemudian laksanakan konsol pakej bersih mvn

Kaedah 3: Pakej dan projek bergantung dalam satu balang (projek bukan springboot)

Kaedah ini menggunakan pemalam maven-assembly-plugin, tetapi Kaedah ini tidak menyalin balang bergantung kepada balang akhir, tetapi menyalin fail kelas yang bergantung pada balang ke balang akhir Oleh itu, beberapa fail sumber akan hilang dalam kaedah ini, jadi projek springboot akan gagal dimulakan.

Langkah 1: Tambah pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/lib</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>
Salin selepas log masuk
Apakah kaedah untuk balang pembungkusan dalam projek Java Maven?

Langkah 2: Pelaksanaan konsol

mvn clean assembly:single

Atau beroperasi projek maven dengan tetikus (lajur kanan)->Pilih Pemalam->Pilih pemasangan->Klik pemasangan:pemasangan

Ringkasan: Ia hanya boleh digunakan untuk projek springboot Kaedah 1 dan 2 boleh bermula seperti biasa.

3. Pembungkusan projek Scala

Langkah pertama: Tambahkan Apakah kaedah untuk balang pembungkusan dalam projek Java Maven?

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.5.5</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
            </manifest>
        </archive>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
</plugin>
Salin selepas log masuk

dalam binaan>plugin pom.xml Langkah kedua: Laksanakan konsol

pakej maven clean atau laksanakan projek maven dengan tetikus (lajur kanan) ->Pilih Kitaran Hayat->Klik pakej atau pasang untuk pakej

4 . Pembungkusan projek Groovy

Langkah pertama: Tambahkan

<plugin>
    <groupId>org.scala-tools</groupId>
    <artifactId>maven-scala-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                    <goal>testCompile</goal>
                </goals>
        </execution>
    </executions>
    <configuration>
        <scalaVersion>${scala.version}</scalaVersion>
        <args>
            <arg>-target:jvm-1.5</arg>
        </args>
    </configuration>
</plugin>
Salin selepas log masuk

dalam build>plugin pom.xml

pakej maven cleanatau laksanakan projek maven dengan tetikus (lajur kanan) ->Pilih Kitaran Hayat->Klik pakej atau pasang untuk pakej

Atas ialah kandungan terperinci Apakah kaedah untuk balang pembungkusan dalam projek Java Maven?. 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