从zip dependency::Android项目解压JAR

从zip dependency::Android项目解压JAR,android,maven,maven-dependency-plugin,Android,Maven,Maven Dependency Plugin,我使用maven依赖插件来解压依赖项 运行时,我可以在目标/依赖项下看到未打包的JAR(编译阶段需要的JAR) mvn依赖项:解包依赖项 但是如果我跑的话 mvn清洁安装 我得到编译错误 我怎样才能让maven知道这些未打包的JAR将在编译和安装时使用 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>ma

我使用maven依赖插件来解压依赖项

运行时,我可以在目标/依赖项下看到未打包的JAR(编译阶段需要的JAR)

mvn依赖项:解包依赖项

但是如果我跑的话

mvn清洁安装

我得到编译错误

我怎样才能让maven知道这些未打包的JAR将在编译和安装时使用

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.7</version>
                <executions>
                    <execution>
                        <id>unpack-dependencies</id>
                        <phase>package</phase>

                        <goals>
                            <goal>unpack-dependencies</goal>
                        </goals>
                        <configuration>
                            <includeGroupIds>com.group</includeGroupIds>
                            <includeArtifactIds>zippedArtifact</includeArtifactIds>

                            <includes>x.jar,y.jar</includes>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

org.apache.maven.plugins
maven依赖插件
2.7
解包依赖项
包裹
解包依赖项
com.group
拉链工艺品
x、 jar,y.jar
真的

如果您只是声明一个普通的代码依赖项,那么只需声明一个依赖项即可。不要使用任何插件。就说,

<dependency>
   <groupId>...</groupId>
   ...
</dependency>

...
...
Maven将把这个jar添加到您的类路径中。你不需要打开它

如果有人真的发布了一个包含多个jar二进制文件的Maven工件,Maven没有即时解决方案。您将需要一个单独的Maven模块,该模块使用依赖插件对它们进行解包,然后使用build helper插件的“attach”选项将每个组件转换为带有分类器的工件,然后声明对它们的依赖关系。将这些单独的JAR重新发布到您的本地存储库管理器中,在它们自己的坐标下,可能会更容易

如果您需要从某个资源中提取其他内容,如数据文件或其他源代码,请将依赖插件与。该插件的目标是添加您使用其他插件创建的其他源或资源目录


如果出于某种原因需要将依赖项组合到自己的jar文件中,请参阅Maven Shade插件。我怀疑android插件生态系统有一个更好的解决方案,可以让依赖项随代码移动,但如果没有,shade就在那里。

我需要使用JAR,如果maven依赖项插件仍然只能与源代码一起移动,它有什么用?