Maven拒绝从远程存储库下载aar打包的依赖项

三倍体

我想在我的Java程序中使用这个android依赖项:

http://jcenter.bintray.com/com/o3dr/android/dronekit-android/2.9.0/

所以我将所有插件和存储库添加到了我的maven pom文件中:

<repositories>
    <repository>
        <id>central</id>
        <name>bintray</name>
        <url>http://jcenter.bintray.com</url>
        <!--<snapshots>-->
            <!--<enabled>false</enabled>-->
        <!--</snapshots>-->
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <!--<snapshots>-->
            <!--<enabled>false</enabled>-->
        <!--</snapshots>-->
        <id>central</id>
        <name>bintray-plugins</name>
        <url>http://jcenter.bintray.com</url>
    </pluginRepository>
</pluginRepositories>

<build>
    <plugins>
        <plugin>
            <groupId>com.simpligility.maven.plugins</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>4.1.0</version>

            <extensions>true</extensions>
            <configuration>
                <sign>
                    <debug>false</debug>
                </sign>
            </configuration>
        </plugin>
        ...

然后,将依赖项添加到同一文件中:

    <dependency>
        <groupId>com.o3dr.android</groupId>
        <artifactId>dronekit-android</artifactId>
        <version>2.9.0</version>
        <type>aar</type>
    </dependency>

但是没有任何反应,maven会忽略它,好像它不存在一样,如果我将其主包导入scala文件并使用构建它mvn clear install -U则会收到此错误:

[错误] /home/peng/git-drone/dronespike/src/main/scala/Main.scala:1:对象o3dr不是com包的成员
[错误]导入com.o3dr.android._
[错误] ^

问题:我应该怎么解决这个问题?

安东·科切耶夫(Anton Koscejev):

使用Android包装,例如<packaging>apk</packaging>

如果Maven无法下载工件,它将在构建生命周期中更快地提出投诉。问题是工件已下载但未使用。aar它不是标准的Maven工件,因此Maven不知道该怎么做。使用它需要带有扩展名的第三方插件,因此使用android-maven-plugin阅读其文档,它有一些要求才能正常工作。具体来说,您没有使用此处提到的android包装:

支持的包装的用法:apk,aar或apklib

确实,在查看插件源代码时,它会先检查android包装,然后再将from aar中的任何内容添加到classpath中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章