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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在構建一個非常簡單的 PF4J 插件時,我的 extension.idx 文件是空的。為什么?

在構建一個非常簡單的 PF4J 插件時,我的 extension.idx 文件是空的。為什么?

浮云間 2022-06-23 16:51:23
我正在嘗試在現(xiàn)有代碼庫中使用 PF4J。我試圖將所有必要的東西從演示插件和應用程序轉移到我現(xiàn)有的 maven 項目中。我已經(jīng)比較了演示和我的代碼,我找不到任何不同的地方。然而,當我構建插件的 .jar 文件時,生成的 extensions.idx 中有一條注釋說它是由 PF4J 生成的,但它是空的。那里應該有對我插件的內(nèi)部類的引用,但沒有。在演示插件中,有。我猜這是我的 Maven 設置(我的 pom 文件之一)的問題,但我看了又看,無法弄清楚。這是我的插件的 Java 文件:package com.inlet.ifserver.plugin.reaper;import com.inlet.plugin.InletFetchReaper;import org.apache.commons.lang.StringUtils;import org.pf4j.Extension;import org.pf4j.Plugin;import org.pf4j.PluginWrapper;import org.pf4j.RuntimeMode;/** * @author Decebal Suiu */public class ReaperAPlugin extends Plugin {    public ReaperAPlugin(PluginWrapper wrapper) {        super(wrapper);    }    @Override    public void start() {        System.out.println("WelcomePlugin.start()");        // for testing the development mode        if (RuntimeMode.DEVELOPMENT.equals(wrapper.getRuntimeMode())) {            System.out.println(StringUtils.upperCase("WelcomePlugin"));        }    }    @Override    public void stop() {        System.out.println("WelcomePlugin.stop()");    }    @Extension    public static class ReaperA implements InletFetchReaper {        @Override        public void reap() {            System.out.println("ReaperA");        }    }}我的猜測是我的代碼沒有被掃描以找到 @Extension 注釋。我不知道那是怎么回事。我希望其他人已經(jīng)遇到了這個問題,并且知道我錯過了一些簡單的事情。誰能告訴我為什么會這樣?如果有人可以讓我深入了解 Maven 是如何在它生成的 .jar 文件中創(chuàng)建 extensions.idx 文件的,那可能會讓我得到答案。
查看完整描述

3 回答

?
慕沐林林

TA貢獻2016條經(jīng)驗 獲得超9個贊

我想通了。我為我的插件定義了這樣的接口:


package com.inlet.plugin;


public interface InletFetchReaper {

    void reap();

}

但它應該是(現(xiàn)在是)這個:


package com.inlet.plugin;


import org.pf4j.ExtensionPoint;


public interface InletFetchReaper extends ExtensionPoint {

    void reap();

}

認為這將是一些簡單的事情。


查看完整回答
反對 回復 2022-06-23
?
泛舟湖上清波郎朗

TA貢獻1818條經(jīng)驗 獲得超3個贊

在我的情況下,我忘記將插件 API 上的 Maven 依賴項標記為<scope>provided</scope>.



查看完整回答
反對 回復 2022-06-23
?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

我代表 Decebal 發(fā)布此答案:


請創(chuàng)建一個問題作為功能請求。我認為這將有助于檢查 PF4J。


例如,您將擴展聲明為:


@Extension

public static class ReaperA implements InletFetchReaper {

}

我認為如果注釋處理器通過反射驗證InletFetchReaper(您的擴展實現(xiàn)的單個接口)擴展,這將很有用ExtensionPoint。


查看完整回答
反對 回復 2022-06-23
  • 3 回答
  • 0 關注
  • 423 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號