Rumah Java javaTutorial Bagaimana untuk membungkus SpringBoot ke dalam pakej perang untuk dijalankan di bawah kucing jantan atau lalat liar

Bagaimana untuk membungkus SpringBoot ke dalam pakej perang untuk dijalankan di bawah kucing jantan atau lalat liar

May 10, 2023 pm 05:04 PM
tomcat springboot war

Kaedah pembungkusan default springboot ialah pakej jar Kelebihan pakej jar ialah konfigurasi tidak perlu diubah, dan tomcat dibenamkan jika dibungkus ke dalam pakej jar, ia boleh terus dibuang ke dalam docker untuk menjalankan ujian. Walau bagaimanapun, memandangkan kod bahagian hadapan hanya boleh dibungkus ke dalam pakej perang, sudah cukup untuk membungkus kod bahagian belakang ke dalam pakej perang dan menjalankannya bersama-sama dengan kod bahagian hadapan dalam aplikasi web dalam bekas tomcat.

Format pembungkusan SpringBoot

Secara lalai, projek SpringBoot yang dibuat dibungkus dalam format pakej balang. Pada masa yang sama, bekas tomcat terbina dalam.

Jadi, jika anda ingin membungkus springboot ke dalam pakej perang dan mengerahkannya ke bekas seperti lalat liar, apakah yang perlu anda lakukan?

Berikut akan menerangkan setiap langkah bermula daripada mencipta projek.

Buat projek

Tiada kesukaran untuk mencipta projek Hanya gunakan alat idea untuk mencipta projek maven yang mudah dan anda ingin mengubahnya Ia adalah dalam bentuk pakej perang dan boleh diubah suai dengan sewajarnya.

Ubah suai konfigurasi pom.xml

Selepas mencipta projek, ubah suai fail pom.xml dan tambah teg induk.

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.1.5.RELEASE</version>
  <relativePath/>
</parent>
Salin selepas log masuk

Jika asalnya projek springboot, ia sudah disertakan dan tidak perlu diubah suai.

Tetapkan kaedah pembungkusan dalam pom.xml kepada perang.

<packaging>war</packaging>

Tambah atau ubah suai konfigurasi kebergantungan, seperti berikut:

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
      <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
  </dependency>
</dependencies>
Salin selepas log masuk

Antaranya, kebergantungan tomcat perlu dikecualikan dalam spring-boot-starter-web . Pada masa yang sama, tambahkan kebergantungan servlet-api. Ambil perhatian bahawa kebergantungan yang ditambahkan di sini ialah Servlet2.5.

Gunakan pemalam berikut untuk pembungkusan dalam binaan.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.6</version>
      <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
      </configuration>
    </plugin>
  </plugins>
</build>
Salin selepas log masuk

Mulakan kaedah utama

Jika sudah ada kaedah utama untuk bermula, biarkan kaedah utama mewarisi SpringBootServletInitializer dan melaksanakan kaedahnya. Jika ia adalah projek yang baru dibuat, buat SpringBootApp (kelas permulaan) terus dalam direktori peringkat atas, dan kemudian mulakan diam seperti berikut.

@SpringBootApplication
public class SpringBootApp extends SpringBootServletInitializer {
 public static void main(String[] args) {
 SpringApplication.run(SpringBootApp.class, args);
 }
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
 return builder.sources(SpringBootApp.class);
 }
}
Salin selepas log masuk

Pembungkusan

Hanya laksanakan pembungkusan pakej melalui arahan maven, dan pakej perang boleh dijana dalam direktori sasaran.

Bagi penggunaan tomcat dan wildfly, anda boleh meletakkan pakej perang dalam direktori yang sepadan untuk memulakan perkhidmatan.

Pengecualian

Jika pengecualian yang serupa dengan yang berikut berlaku semasa permulaan (mencadangkan bahawa web.xml tiada):

Ralat semasa memasang WAR: webxml atribut diperlukan (atau WEB-INF/web.xml sedia ada jika melaksanakan dalam mod kemas kini)

Beri perhatian untuk menyemak pemalam pembungkusan fail pom dan sama ada masalah tomcat telah dihapuskan, dan semak sama ada pemalam pembungkusan di atas adalah betul.

Sebab masalahnya ialah: pakej kebergantungan spring-boot-starter-web dirujuk dalam projek springboot. Spring-boot-starter-tomcat yang dirujuk dalam pakej ini mengandungi bekas servlet terbenam tomcat, dan versi berbezanya melaksanakan spesifikasi versi servlet yang berbeza.

Servlet/JSP versi 2.5/2.1 menyokong Tomcat versi 6.0.x, dan versi java minimum ialah 1.5. Servlet/JSP versi 3.0/2.2 menyokong Tomcat versi 7.0.x, dan versi java minimum ialah 1.6.

Memandangkan Servlet2.5 digunakan di atas, pengecualian di atas akan berlaku apabila tiada fail web.xml.

Penyelesaian 1: Apabila versi Servlet kurang daripada 3, buat fail /src/main/webapp/WEB-INF/web.xml.

Penyelesaian 2: Tambahkan pemalam maven-war-plugin di bawah binaan pom.xml. Dan tetapkan failOnMissingWebXml kepada false.

Atas ialah kandungan terperinci Bagaimana untuk membungkus SpringBoot ke dalam pakej perang untuk dijalankan di bawah kucing jantan atau lalat liar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan projek jar dalam tomcat Bagaimana untuk menggunakan projek jar dalam tomcat Apr 21, 2024 am 07:27 AM

Untuk menggunakan projek JAR ke Tomcat, ikut langkah berikut: Muat turun dan nyahzip Tomcat. Konfigurasikan fail server.xml, tetapkan port dan laluan penggunaan projek. Menyalin fail JAR ke laluan penggunaan yang ditentukan. Mulakan Tomcat. Akses projek yang digunakan menggunakan URL yang disediakan.

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Di manakah direktori pemasangan tomcat? Di manakah direktori pemasangan tomcat? Apr 21, 2024 am 07:48 AM

Direktori pemasangan Tomcat: Laluan lalai: Windows: C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Laluan tersuai: Anda boleh menentukannya semasa pemasangan. Cari direktori pemasangan: gunakan whereis atau locate arahan.

Bagaimana untuk menggunakan berbilang projek dalam tomcat Bagaimana untuk menggunakan berbilang projek dalam tomcat Apr 21, 2024 am 09:33 AM

Untuk menggunakan berbilang projek melalui Tomcat, anda perlu mencipta direktori aplikasi web untuk setiap projek dan kemudian: Penggunaan automatik: Letakkan direktori aplikasi web dalam direktori aplikasi web Tomcat. Penggunaan manual: Gunakan projek secara manual dalam aplikasi pengurus Tomcat. Sebaik sahaja projek itu digunakan, ia boleh diakses dengan nama penggunaannya, contohnya: http://localhost:8080/project1.

Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Apr 21, 2024 am 08:12 AM

Cara menyemak bilangan sambungan Tomcat serentak: Lawati halaman Pengurus Tomcat (http://localhost:8080/manager/html) dan masukkan nama pengguna dan kata laluan anda. Klik Status->Sesi dalam bar navigasi kiri untuk melihat bilangan sambungan serentak di bahagian atas halaman.

Di manakah direktori akar laman web tomcat? Di manakah direktori akar laman web tomcat? Apr 21, 2024 am 09:27 AM

Direktori akar tapak web Tomcat terletak dalam subdirektori webapps Tomcat dan digunakan untuk menyimpan fail aplikasi web, sumber statik dan direktori WEB-INF ia boleh didapati dengan mencari atribut docBase dalam fail konfigurasi Tomcat.

Bagaimana untuk menyemak nombor port tomcat Bagaimana untuk menyemak nombor port tomcat Apr 21, 2024 am 08:00 AM

Nombor port Tomcat boleh dilihat dengan menyemak atribut port elemen <Connector> dalam fail server.xml. Lawati antara muka pengurusan Tomcat (http://localhost:8080/manager/html) dan lihat tab "Status". Jalankan "versi catalina.sh" dari baris arahan dan lihat baris "Port:".

Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Apr 21, 2024 am 09:00 AM

Menjalankan projek dengan nombor port yang berbeza pada pelayan Tomcat memerlukan langkah berikut: Ubah suai fail server.xml dan tambah elemen Penyambung untuk menentukan nombor port. Tambah elemen Konteks untuk menentukan aplikasi yang dikaitkan dengan nombor port. Buat fail WAR dan gunakannya ke direktori yang sepadan (webapps atau webapps/ROOT). Mulakan semula Tomcat untuk menggunakan perubahan.

See all articles