国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于嵌入式Tomcat的War包啟動器

這篇具有很好參考價值的文章主要介紹了基于嵌入式Tomcat的War包啟動器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

最近針對java項目的部署方式進(jìn)行整理,jenkins/tomcat/windows工具/linux腳本/web部署平臺等等

發(fā)現(xiàn)war包通過tomcat部署比較繁瑣,等待時間長,配置規(guī)則復(fù)雜對于小白很不友好,也難以接入到自定義的部署工具/平臺中

之前開發(fā)的Jar包部署平臺是servlet開發(fā)通過嵌入式tomcat部署,借此打開思路

能否基于嵌入式tomcat做一個war包啟動器,通過代碼的方式開啟tomcat容器來部署war包

源碼地址:https://gitee.com/code2roc/jar-manage/tree/master/waragent

借此啟動器可以將war包部署集成到自己的工具平臺中,將啟動器的jar包按普通方式部署即可

方案

tomcat啟動一般需要幾個基本參數(shù)設(shè)置

  • war包路徑
  • 端口
  • 映射路由
Tomcat tomcat = new Tomcat();
tomcat.setPort(port);
StandardContext ctx = (StandardContext) tomcat.
addWebapp(contextPath, catalinaBase + File.separator + "webapps" + File.separator + name + ".war");

tomcat9啟動還需要指定cookie處理策略,否則無法識別

CookieProcessor cookieProcessor = new LegacyCookieProcessor();
ctx.setCookieProcessor(cookieProcessor);

后續(xù)實際使用中還涉及到了啟動jvm參數(shù)設(shè)置及jar包掃描跳過的配置

tomcat.getEngine().setJvmRoute(jvmStartCommand);
StandardJarScanner jarScanner = new StandardJarScanner();
StandardJarScanFilter jarScanFilter = new StandardJarScanFilter();
jarScanFilter.setTldSkip(skipScan);
jarScanFilter.setPluggabilitySkip(skipScan);
jarScanner.setJarScanFilter(jarScanFilter);
ctx.setJarScanner(jarScanner)

打包

原來預(yù)想把maven項目打到一個jar包方便調(diào)用,但是打包插件會把依賴jar包中的class文件進(jìn)行合并

嵌入式tomcat依賴的jar包有相同包名的,導(dǎo)致class文件覆蓋,websocket相關(guān)內(nèi)容報錯

所以把依賴jar包打入到同級lib文件夾中,和waranaget.jar一起拷貝使用

 <build>
        <finalName>${artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.code2roc.waragent.Application</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <!-- 拷貝依賴的jar包到lib目錄 -->
            <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>
        </plugins>
    </build>

使用

java -jar waragent.jar "啟動參數(shù)"

啟動參數(shù)一定要用雙引號包含,這樣才能正確解析

定義:"$appname★$warFilePath★$port★$contextPath★$jvmParam★$skipScan"

示例:"testwar★D:\testwar.war★9091★/testwar★-Xms3072m -Xmx3072m -Djava.awt.headless=true★xxx*.jar"

內(nèi)部使用★分開,一共6個參數(shù),最后一個參數(shù)可省略,其余必填文章來源地址http://www.zghlxwxcb.cn/news/detail-514795.html

  • 參數(shù)1:應(yīng)用名稱
  • 參數(shù)2:war包絕對路徑
  • 參數(shù)3:端口號
  • 參數(shù)4:映射路由(contextPath)
  • 參數(shù)5:jvm啟動參數(shù),主要指定內(nèi)存大小
  • 參數(shù)6:啟動掃描跳過jar包名稱,多個使用,分開

到了這里,關(guān)于基于嵌入式Tomcat的War包啟動器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • AI繪畫——本地配置webui啟動器教程,支持一鍵啟動/修復(fù)/更新/模型下載管理+Lora模型推薦

    AI繪畫——本地配置webui啟動器教程,支持一鍵啟動/修復(fù)/更新/模型下載管理+Lora模型推薦

    秋葉aaaki的個人空間_嗶哩嗶哩_bilibili https://space.bilibili.com/12566101/?spm_id_from=333.999.0.0 感謝 秋葉aaaki大佬の免費開源 目錄 1.獲取資源整合包 2. 下載并配置webui啟動器 ?3.啟動器功能 ?4.一鍵啟動,開始實戰(zhàn) 5.效果演示? 露出雞腳哩 ?幻想景色加上lora模型xiaorenshu ?劉亦菲圖生圖

    2024年02月03日
    瀏覽(26)
  • ISCSI:后端卷以LVM 的方式配置 ISCSI 目標(biāo)啟動器

    準(zhǔn)備考試整理相關(guān)筆記 博文內(nèi)容涉及使用 LVM 做ISCSI 目標(biāo)后端塊存儲 Demo 理解不足小伙伴幫忙指正 對每個人而言,真正的職責(zé)只有一個:找到自我。然后在心中堅守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是對大眾理想的懦弱回歸,是隨

    2024年02月08日
    瀏覽(26)
  • 手寫超級好用的rabbitmq-spring-boot-start啟動器

    手寫超級好用的rabbitmq-spring-boot-start啟動器

    手寫超級好用的rabbitmq-spring-boot-start啟動器 ??由于springBoot官方提供的默認(rèn)的rabbitMq自動裝配不是那么好用,一個項目中只能配置使用一個rabbitMq的服務(wù)器,隊列也需要編碼的方式定義,這種繁雜且不易使用,用一次需要寫一次硬編碼,之前有一個想法是,能不能使用springB

    2024年04月13日
    瀏覽(22)
  • 【MC教程】iPad啟動Java版mc(無需越獄)(保姆級?) Jitterbug啟動iOS我的世界Java版啟動器 PojavLauncher

    【MC教程】iPad啟動Java版mc(無需越獄)(保姆級?) Jitterbug啟動iOS我的世界Java版啟動器 PojavLauncher

    本教程不需要iPad或者iPhone越獄 教程視頻鏈接:https://www.bilibili.com/video/BV1wW4y1b7QM/ 眾所周知,蘋果上的應(yīng)用是ipa文件(相當(dāng)于安卓的apk文件),在下載非app store上的應(yīng)用就是在下載對應(yīng)的ipa文件,然后對于本期教程需要知道以下兩點。 在蘋果設(shè)備上,光有ipa文件還不夠,還需

    2023年04月25日
    瀏覽(22)
  • 前端調(diào)用 Stable diffusion 秋葉啟動器 Web-Ui API

    前端調(diào)用 Stable diffusion 秋葉啟動器 Web-Ui API

    在啟動器啟動前,開啟啟用 API 就可以調(diào)用 通過訪問 API DOCS 查看完整的接口地址。 POST 請求體以 JSON 形式發(fā)送。 以 axios 為例: 文生圖 地址:/sdapi/v1/txt2img 參數(shù)說明 圖生圖 地址:/sdapi/v1/img2img 其中 init_images 參數(shù)可以是服務(wù)文件路徑也可以是 base64

    2024年02月08日
    瀏覽(26)
  • win10系統(tǒng)提示:“重新啟動以修復(fù)驅(qū)動器錯誤”解決辦法

    win10系統(tǒng)提示:“重新啟動以修復(fù)驅(qū)動器錯誤”解決辦法

    最近一段時間臺式機(jī)的window10系統(tǒng)突然提示:“重新啟動以修復(fù)驅(qū)動器錯誤”。博主本來置之不理,但是系統(tǒng)自動重啟了,然后也沒自動修復(fù)成功,伴隨而來的是兩天頻繁的藍(lán)屏現(xiàn)象。過去的很長一段時間里,都沒有出現(xiàn)過該問題,因此花了兩天解決 系統(tǒng)藍(lán)屏和驅(qū)動錯誤的問

    2024年02月04日
    瀏覽(32)
  • 解決 Minecraft 官方啟動器 報錯找不到 launcher.dll / LoadErrorNotPresent 的解決方法

    解決 Minecraft 官方啟動器 報錯找不到 launcher.dll / LoadErrorNotPresent 的解決方法

    如果你用的是Windows 10操作系統(tǒng)基本上不用看這個文章了,應(yīng)該幫不到你,Windows 10的更新中應(yīng)該是自帶這個補(bǔ)丁的。 在 Windows 7 SP1 系統(tǒng)上,安裝 Minecraft官方啟動器 之后,啟動啟動器時出現(xiàn)報錯信息。 點擊確定之后出現(xiàn) 查詢?nèi)罩?%appdata%.minecraft 下的 launcher_log.txt 有顯示 SSL

    2024年02月07日
    瀏覽(143)
  • 【嵌入式學(xué)習(xí)筆記】嵌入式基礎(chǔ)9——STM32啟動過程

    【嵌入式學(xué)習(xí)筆記】嵌入式基礎(chǔ)9——STM32啟動過程

    程序段交叉引用關(guān)系(Section Cross References):描述各文件之間函數(shù)調(diào)用關(guān)系 刪除映像未使用的程序段(Removing Unused input sections from the image):描述工程中未用到被刪除的冗余程序段(函數(shù)/數(shù)據(jù)) 映像符號表(Image Symbol Table):描述各符號(程序段/數(shù)據(jù))在存儲器中的地址、類

    2024年02月15日
    瀏覽(64)
  • 【AI繪畫】個人電腦部署免費AI繪畫軟件——Stable Diffusion webui啟動器

    【AI繪畫】個人電腦部署免費AI繪畫軟件——Stable Diffusion webui啟動器

    二次元 2.5d 機(jī)甲風(fēng) ai繪畫,也叫“ai作畫”、“人工智能繪畫”,即通過 AI 生成技術(shù)得到畫作或圖片。ai作畫由來已久,有許多創(chuàng)作ai繪畫作品的方式,包括基于規(guī)則的圖像生成算法、深度學(xué)習(xí)算法。最近火爆全網(wǎng)的是通過文本描述生成繪畫的形式,大家或許會疑惑,AI 生成圖

    2024年02月11日
    瀏覽(24)
  • SpringBoot源碼解讀與原理分析(二十七)嵌入式Tomcat

    SpringBoot源碼解讀與原理分析(二十七)嵌入式Tomcat

    當(dāng)Web應(yīng)用需要部署運行時,傳統(tǒng)的做法是將項目打包成war包,然后部署到外置的Web容器中(如最常用的Tomcat容器)。 SpringBoot的一大重要特性是支持嵌入式Web容器,基于SpringBoot的Web應(yīng)用僅憑一個單獨的jar包即可獨立運行。 8.1.1 嵌入式Tomcat與普通Tomcat 嵌入式Tomcat是一種可以嵌

    2024年02月22日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包