欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

非maven項目快速轉(zhuǎn)換為maven項目的方法步驟

 更新時間:2024年01月15日 15:29:28   作者:假女吖?  
時候我們導入的項目并不是有maven來管理依賴的,而是要手動添加jar包,比較麻煩,本文主要介紹了非maven項目快速轉(zhuǎn)換為maven項目的方法步驟,具有一定的參考價值,感興趣的可以了解一下

背景

公司有個很舊的項目,無法通過提交gitlab來實現(xiàn)自動構(gòu)建docker鏡像(當然肯定可以通過其他的方式來構(gòu)建鏡像(這里可能沒有研究所以不太清楚),但是我當時的想法就是把項目轉(zhuǎn)換為maven的,然后通過配置plugin來實現(xiàn))。

問題

因為舊的項目是spring的項目可想而知是很多的jar包,并且還有一些奇奇怪怪的jar包(可能是第三方的,在中央庫根本就找不到)。這是很頭疼的,嘗試去找了一個每個jarGAV,因為太多了就放棄了。然后就想是否能直接通過配置方式來解決這個問題,快速把所有jar引入到項目中,并且可以使他在maven編譯的時候也可以正常編譯(雖然在idea中可以運行是因為我們配置了libraries所有才能正常運行)。

解決方式

方法只適用與jdk1.8及以下,因為1.8以上他取消了rt.jar這個基礎(chǔ)包。

<plugin>
    <!--使用maven-compiler-plugin來解決編譯時無法找到第三方依賴的問題-->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <!-- 指定源代碼的字符編碼為UTF-8。-->
        <encoding>UTF-8</encoding>
        <!-- 用于指定傳遞給Java編譯器的參數(shù)。-->
        <compilerArgs>
            <!--一般不開調(diào)試的時候需要用到 這三個一般不開啟 但是調(diào)試的時候可以通到-->
            <!--啟用詳細輸出,顯示編譯過程的詳細信息。-->
            <!--<arg>-verbose</arg>-->
            <!--啟用unchecked警告,用于檢測未經(jīng)檢查的操作。-->
            <!--<arg>-Xlint:unchecked</arg>-->
            <!--啟用已過時元素使用警告,用于檢測已經(jīng)不推薦使用的API。-->
            <!--<arg>-Xlint:deprecation</arg>-->
            <!--bootclasspath 引導類路徑。引導類路徑是Java編譯器在編譯時使用的類路徑,其中包含了Java標準庫的核心類 其實可以不指定因為jdk11我測試的時候沒找到rt.jar 所以說只支持jdk1.8及一下 這里如果這個的可以補充-->
            <arg>-bootclasspath</arg>
            <arg>${env.JAVA_HOME}/jre/lib/rt.jar</arg>
            <!--重點!
				extdirs 擴展目錄允許你添加額外的類庫目錄,這里包括了Web應用程序的lib目錄和Java運行時庫的ext目錄。
				我們把自己的第三方j(luò)ar包通過擴展類的形式讓我們的編譯器可以識別到。從而使得maven能夠編譯成功。
			-->
            <arg>-extdirs</arg>
            <arg>
                ${project.basedir}/src/main/webapp/WEB-INF/lib${path.separator}${env.JAVA_HOME}/jre/lib/ext
            </arg>
        </compilerArgs>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.2</version>
    <configuration>
       	<!--用于補充Web應用程序的資源文件。-->
        <webResources>
            <webResource>
                <!--用于在部署后可以讓我們的tomcat識別到具有必要的第三方依賴-->
                <directory>${pom.basedir}/src/main/webapp/WEB-INF/lib/</directory>
                <!--將資源復制到指定目錄-->
                <targetPath>WEB-INF/lib/</targetPath>
              	<!--包含那些文件-->
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </webResource>
        </webResources>
    </configuration>
</plugin>

總結(jié)

maven-compiler-plugin:解決在編譯過程中識別不到第三方依賴的問題

maven-war-plugin:解決在部署后可以讓第三方包被tomcat識別

使用這兩個插件讓我們可以無需一個一個的添加denpendency,之后的有再補充的jar包,可以通過denpendency交給maven來管理。

注意

idea工具中你可能還需要將webapp/WEB-INF/lib/添加到libraries中,因為idea默認不是使用maven來編譯程序的。

到此這篇關(guān)于非maven項目快速轉(zhuǎn)換為maven項目的方法步驟的文章就介紹到這了,更多相關(guān)非maven轉(zhuǎn)為maven項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論