第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將注釋處理器集成到同一個(gè)項(xiàng)目中

將注釋處理器集成到同一個(gè)項(xiàng)目中

瀟湘沐 2022-10-07 19:31:58
是否可以在定義它的同一個(gè)項(xiàng)目中使用注釋處理器?例子:源/MyAnnotation.javapath_to_MyAnnotationProcessor.MyAnnotationProcessor.java其他類資源META-INF/services/javax.annotation.processing.Processor絨球當(dāng)我運(yùn)行時(shí)mvn clean install,我希望我的處理器將處理使用 MyAnnotation 注釋的類。我不想從另一個(gè)庫(kù)導(dǎo)入已經(jīng)編譯的處理器,我只想在我的 src 中定義它后使用它?,F(xiàn)在,我得到錯(cuò)誤: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project my-project: Compilation failure [ERROR] Annotation processor 'path_to_MyAnnotationProcessor' not foundpom.xml 的一部分,我在這里引用。給我的處理器:       <plugin>            <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-compiler-plugin</artifactId>            <version>${maven.plugin.compiler}</version>            <configuration>                <source>${version.java}</source>                <target>${version.java}</target>                    <annotationProcessors>                       <proc>path_to_MyAnnotationProcessor.MyAnnotationProcessor</proc>                    </annotationProcessors>            </configuration>        </plugin>感謝大家,尤其是 @Stefan Ferstl 和 @yegodm。來自 yegodm 的解決方案是:“一種方法是兩個(gè)在同一個(gè)項(xiàng)目中有兩個(gè)模塊。一個(gè)模塊將定義注釋和處理器。另一個(gè)將它作為建立構(gòu)建順序的依賴項(xiàng)?!?
查看完整描述

2 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

解決此問題的最簡(jiǎn)單方法是將您的項(xiàng)目轉(zhuǎn)換為多模塊項(xiàng)目,其中注釋處理器位于其自己的模塊中。注釋處理器有一個(gè)不同的模塊,您可以使用全新的<annotationProcessorPaths>選項(xiàng)通過groupId/定義注釋處理器artifactId

使用注釋處理器的模塊可能需要依賴于注釋處理器模塊才能首先構(gòu)建它。

注意:在此答案的先前版本中,我描述了解決此問題的另一種方法,顯然不能開箱即用。該部分已被刪除。


查看完整回答
反對(duì) 回復(fù) 2022-10-07
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

您可以通過單獨(dú)的編譯器執(zhí)行更早地編譯您的處理器。


<build>

    <plugins>

        <plugin>

            <artifactId>maven-compiler-plugin</artifactId>

            <executions>

                <execution>

                    <id>compile-generator</id>

                    <phase>generate-sources</phase>

                    <goals>

                        <goal>compile</goal>

                    </goals>

                    <configuration>

                        <includes>

                            <include>com/example/YourProcessor.java</include>

                        </includes>

                    </configuration>

                </execution>

            </executions>

        </plugin>

    </plugins>

</build>

我已經(jīng)對(duì)此進(jìn)行了測(cè)試,它可以工作——處理器確實(shí)在實(shí)際編譯階段稍后被調(diào)用。


如果您也從同一個(gè)項(xiàng)目中預(yù)編譯了一些其他類,那么您可以直接在處理器中引用和使用它們。那可能很有用。


查看完整回答
反對(duì) 回復(fù) 2022-10-07
  • 2 回答
  • 0 關(guān)注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)