簡體   English   中英

無法在Android庫模塊中使用自定義生成注釋

[英]Can't use custom build annotation in Android Library Module

我正在嘗試為現有的Java庫構建一個Android庫。 在我的Java庫中,有一個名為org.wso2.siddhi.annotation.Extension注釋,當我嘗試將此注釋添加到類中時,出現以下錯誤。

Error:Execution failed for task ':siddhiservice:transformClassesAndResourcesWithSyncLibJarsForDebug'.
> java.util.zip.ZipException: duplicate entry: META-INF/annotations/org.wso2.siddhi.annotation.Extension

這是我的課堂實現。

package org.wso2.siddhiservice.sensors.proximity;

import org.wso2.siddhi.annotation.Example;
import org.wso2.siddhi.annotation.Extension;

@Extension(
        name = "proximity",
        namespace="source",
        description = "Get events from the proximity sensor",
        examples = @Example(description = "TBD",syntax = "TBD")
)
public class ProximitySensorSource extends Source {
}

如果我只是刪除@extension並清理項目,則效果很好。 問題只有在添加注釋時才會發生,這些是我的庫。

在此處輸入圖片說明

有什么解決方案?

在應用程序gradle.build文件中使用annotationProcessor gradle.build

    implementation files ('libs/Siddhi.jar');
    annotationProcessor files ('libs/Siddhi.jar')

另外,使用{ transitive = false }避免重復文件

implementation (group: 'org.wso2.extension.siddhi.io.tcp', name: 'siddhi-io-tcp', version: '2.0.15'){ transitive = false }

這個對我有用

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM