2013-10-14 176 views
0

我使用Maven的依赖-plugin插件解压依赖性。解压罐子:: Android项目

运行

MVN依赖的时候,我可以看到解压缩罐(那些需要在编译阶段)目标/依赖下:解压依赖性

但是相反,如果我跑

mvn clean install

我收到编译错误。

我怎能让行家知道,要使用这些解压罐子编译和安装时?

<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> 

回答

0

如果你只是声明一个普通的代码依赖关系,只声明一个依赖关系。根本不要使用任何插件。只需说,

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

Maven会将该jar添加到您的类路径中。你不需要解开它。

如果有人真的出版包含二进制文件的多个jar文件Maven的神器,Maven有没有即时的解决方案。您将需要一个单独的Maven模块,将它们与依赖插件解压缩,然后使用构建助手插件的“attach”选项将每个模块转换为具有分类器的工件,然后声明它们的依赖关系。将这些单独的jar重新发布到您自己的坐标下的本地存储库管理器可能会更容易。

如果你需要拉其他的东西了资源的地方,例如数据文件或附加的源代码,结合依赖插件与the build helper maven plugin。这个插件的目标是添加您使用其他插件创建的其他源或资源目录。

如果你需要你的依赖合并成某种原因你自己的jar文件,请参阅Maven的阴影插件。我怀疑android插件生态系统有一个更好的解决方案来让你的依赖与你的代码一起旅行,但如果没有,阴影就在那里。

+0

我需要用罐子,什么是使用Maven的依赖,插件,如果它仍然必须去与唯一来源? – nish1013

相关问题