W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵(lì)
此功能僅在 Ultimate 版本中得到支持。
默認(rèn)情況下,IntelliJ IDEA 使用 javac 編譯器。要使用 AspectJ 編譯器 ajc (而不是與 javac 組合),應(yīng)對相應(yīng)的 IDE 設(shè)置進(jìn)行更改。
項(xiàng)目級別指定的 ajc 設(shè)置可以在各個(gè)模塊的級別進(jìn)行微調(diào)。與模塊相關(guān)的 AspectJ 方面用于此目的。
請注意,ajc 不與 IntelliJ IDEA 捆綁在一起,應(yīng)該單獨(dú)下載。
ajc 作為 AspectJ 發(fā)行版的一部分提供,您可以從 AspectJ 網(wǎng)站下載。
IntelliJ IDEA 可讓你使用 ajc 與 javac 組合,而無需在 IDE 設(shè)置中切換編譯器。
首先,您應(yīng)該選擇 ajc 作為您的項(xiàng)目編譯器(在 Java 編譯器頁面上的 Use 編譯器字段)。
如果您想要同時(shí)使用 javac,請打開“Delegate to Javac”選項(xiàng)。如果啟用此選項(xiàng),那么沒有 aspect 的模塊將被編譯為 javac (通常更快),并且包含 aspect 的模塊將用 ajc 編譯。(如果此選項(xiàng)為 off,則 ajc 用于項(xiàng)目中的所有模塊。)
您可以在各個(gè)模塊級別對編譯器(ajc 和 javac)之間的任務(wù)分配進(jìn)行微調(diào)。對于只包含 @Aspect-annotated 的 Java 類(在 .java 文件中)的形式的模塊,您可以指定 ajc 僅應(yīng)用于后編譯的編織(weaving)。如果這樣做,javac 將用于編譯所有源文件,然后 ajc 將其應(yīng)用于編譯的類文件進(jìn)行編織。因此,整個(gè)過程(編譯+編織)(compilation + weaving)將花費(fèi)更少的時(shí)間。
如果打開了“Javac代理選項(xiàng)(Delegate to Javac)”,則通過在與模塊關(guān)聯(lián)的 AspectJ facet 中打開相應(yīng)的選項(xiàng)來啟用 ajc 的編譯后編織模式。
請注意,您不應(yīng)為包含代碼樣式 aspect 的模塊(在 .aj 文件中定義的 aspect)啟用此選項(xiàng)。
您可以為每個(gè)模塊分別控制 ajc aspectpath 選項(xiàng),請參閱在模塊級別對 ajc 的使用進(jìn)行微調(diào)。
由于將適當(dāng)配置的 Maven 項(xiàng)目導(dǎo)入 IntelliJ IDEA,可以自動設(shè)置該 aspectpath 模塊。
為了能夠調(diào)整 ajc 在模塊級別的使用,您應(yīng)該添加一個(gè) AspectJ facet 到相應(yīng)的模塊。
完成該操作之后,您可以指定 ajc 僅用于后編譯后編織。您也可以指定 aspectpath 模塊。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: