0

我想將一個基於gradle的構建插件移植到一個maven構建系統中。 到目前爲止,除了android部分,我成功了。如何從Maven中的`com.android.build.api.transform`包中導入類

看來我從包com.android.build.api.transform中缺少類。雖然我用這個代碼

<dependency> 
     <groupId>com.android.tools.build</groupId> 
     <artifactId>gradle</artifactId> 
     <version>2.2.0</version> 
     <type>jar</type> 
    </dependency> 

這是應該提供(而不是間接)所需的類/包,似乎這是行不通的。

我也只是在情況下添加

<repositories> 
    <repository> 
     <id>android</id> 
     <name>android</name> 
     <url>https://plugins.gradle.org/m2/</url> 
    </repository> 
</repositories> 

,沒有運氣。由於缺少類,項目仍然無法編譯。

任何想法我失蹤?我對gradle/maven場景很陌生,用這些工具仍然感覺不到我的水域。

參考here is a link到這個神器的javadoc。

感謝您的幫助

回答

1

的「gradle這個」神器不包含丟失的包。正如你所提到的那樣,它至少依賴於一個包含該包的工件,但只在範圍'runtime'中。因此,它在編譯類路徑中不能用於您的項目。

無論如何,在pom.xml中顯式添加依賴項是正確的。在search.maven.org上搜索丟失的軟件包顯示您可以在com.android.tools.build:transform-api和com.android.tools.build:gradle-api之間進行選擇。鎖定transform-api工件顯示它已被棄用,並鼓勵使用gradle-api代替。 (最新版本是'2.0.0-deprecated-use-gradle-api')。我下載了gradle-api jar文件,它確實有缺失的軟件包。所以,請嘗試添加該神器你的pom.xml代替:

<dependency> 
    <groupId>com.android.tools.build</groupId> 
    <artifactId>gradle-api</artifactId> 
    <version>2.3.0</version> 
</dependency> 

我沒有檢查2.2.0版本,但是如果你因爲某些原因要使用的舊版本,它可能會工作了。

+0

確實在那裏。不過,它似乎有一些缺失的依賴關係。它看起來好像隱藏了實際的功能 – Panayotis

相關問題