Rumah >Java >javaTutorial >Bagaimana untuk menyelesaikan konflik pakej jar apabila menggunakan springboot ke weblogic
Dalam projek tertentu, pelanggan perlu menggunakan weblogik sedia ada untuk menggunakan springboot yang dibangunkan, jadi beberapa pelarasan konfigurasi dibuat pada springboot, terutamanya termasuk mengalih keluar pergantungan tomcat dan menambah pemprosesan kelas permulaan.
Ia biasanya berjalan lancar, tetapi sebenarnya selalu ada masalah kecil.
Apabila pakej diterbitkan ke weblogic dan dimulakan, ralat ditunjukkan dalam rajah di bawah:
Ia boleh dilihat daripada kandungan pengecualian Adalah mudah untuk menilai bahawa ini adalah ralat yang disebabkan oleh konflik pakej balang.
Selepas mencari, weblogic mempunyai direktori wls12213oracle_commonmodulesthirdparty
, yang menyimpan beberapa pakej balang lalai pihak ketiga Semasa proses permulaan projek, lalai adalah untuk memuatkan pakej balang di sini dahulu, dan kemudian memuatkan pakej balang. dalam projek projek , kerana anda tidak boleh menjamin bahawa versi pakej balang dalam projek adalah betul-betul sama dengan versi pakej balang dalam weblogic, jadi konflik pemuatan kelas biasa berlaku kerana versi pakej balang yang tidak konsisten.
Semak maklumat tapak web rasmi, weblogic juga mempunyai penyelesaian Anda boleh menentukan kelas mana yang perlu dimuatkan dahulu daripada pakej balang pakej kejuruteraan projek dengan menambah dan mengkonfigurasi fail weblogic.xml.
Kaedah konfigurasi adalah seperti berikut:
Buat direktori aplikasi web pada tahap yang sama dengan kod dan sumber projek springboot, kemudian buat direktori WEB-INF di bawah direktori webapp, dan tambah weblogic.xml Fail diletakkan dalam WEB-INF Mengambil projek springboot-weblogic-demo sebagai contoh, laluan penuhnya ialah springboot-weblogic-demo\srcmainwebappWEB-INFweblogic.xml
dan kandungannya adalah seperti berikut:
<?xml version='1.0' encoding='UTF-8'?> <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> <container-descriptor> <prefer-application-packages> <package-name>org.slf4j</package-name> <package-name>javax.validation.*</package-name> <package-name>org.hibernate.*</package-name> <package-name>javax.el.*</package-name> <package-name>org.springframework.*</package-name> <!--解决项目中jackson的jar包和weblogic中thirdparty的jar包冲突问题,配置优先加载项目中的jar--> <package-name>com.fasterxml.jackson.*</package-name> </prefer-application-packages> </container-descriptor> <context-root>/springboot-weblogic-demo</context-root> </weblogic-web-app>
hanya menambah dan mengkonfigurasi fail ini, tidak Apakah konfigurasi lain yang saya belum menambah operasi menambah web.xml yang disebutkan di Internet di sini .Masalah 2Ralat GC juga berlaku semasa proses penggunaan
Masalah ini agak mudah untuk diselesaikan. Hanya mengubah suai nilai memori untuk persekitaran permulaan weblogik ia. GC overhead limit exceeded
, iaitu sekitar permulaan baris 200. Kandungan yang diubah suai adalah seperti berikut: D:weblogicfmw_12.2.1.3.0_wls_quick_Disk1_1of1wls12213user_projectsdomainsbase_domainbinsetDomainEnv.cmd
if NOT "%JAVA_VENDOR%"=="HP" ( if "%VM_TYPE%"=="HotSpot" ( set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx4096m set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m ) )Mulakan semula perkhidmatan weblogic, dan anda boleh melihat selebihnya pengubahsuaian pada permulaan Konfigurasi memori:
Nilai asal WLS_MEM_ARGS_64BIT ialah -Xms256m -Xmx512m, atau anda boleh menambah lebih banyak tetapan memori, contohnya: -Xms512m - Xmx1024m - XX:MaxNewSize=1024m -XX:MaxPermSize=1024m
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan konflik pakej jar apabila menggunakan springboot ke weblogic. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!