您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Delegate IDE build/run actions to maven 配置會不會影響程序的運行效率,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
背景
IDEA 的 build/run 動作如果委托給了 maven 之后,會影響程序運行嗎?
本文來介紹一下這個問題。答案是,可能會,如果 pom.xml 中配置的 build 有額外的執行動作,就會影響程序運行,甚至會導致運行失敗。
看個配置
上周研究項目打包時,根據網上一個說明將此選項勾選了,結果今天直接運行 SpringBoot 項目的 main 類時,竟然先執行了 maven install 命令。由于是一個我從來沒有 install 過 Vue 項目的工程的后端模塊,平時很快就能啟動的項目,今天死活跑不起來。
異常顯示是自動打包 vue 項目的插件執行失敗了,定位問題可能出在 maven install 操作上,為什么會執行 maven build 呢,理論上只需要 compile 項目就可以了呀。
聯想到上周和本周 IDEA 的配置差異,去掉此勾選項后,不再執行 maven build 操作了,項目正常跑起來了。
后續
2020 年 8 月 18 日,又看了另一個模塊,在取消勾選 “Delegate IDE build/run actions to maven” 配置后,它雖然是 SpringBoot 項目,但是沒法運行,編譯報錯還是 common 中的類文件找不到。
對比了它的 pom.xml 和其他模塊的,發現它配置了 maven 編譯操作:
此項目需要勾上Delegate IDE build/run actions to maven 配置,才能執行 main 方法。去掉這段 build 配置,取消勾選,還是無法執行主類。這是為何呢?maven 項目的編譯插件和 IDE 的關系是怎樣的?這是個可以繼續研究的話題。
啟示錄
我們的項目使用 SpringBoot 做后端,Vue 做前端, web 端項目會配置一個 exec-maven-plugin 插件執行 npm install 命令,將 Vue 項目打包到 web 的 static 目錄下。但是這個 Vue 項目平時沒有執行過,依賴的前端模塊都沒有安裝。
當 IDEA 的 build/run 動作被委托給 maven 后,就會由 maven 執行 pom.xml 中的打包配置,最終在執行 npm install VueProject 的時候,解決依賴失敗,導致 SpringBoot 的項目的主函數啟動失敗了。
看完上述內容,你們對Delegate IDE build/run actions to maven 配置會不會影響程序的運行效率有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。