2014-01-08 71 views
0

任何人都可以指导我如何将生成的OSGi捆绑包复制到磁盘上的其他位置?使用maven将OSGi捆绑包导出到特定文件夹

我正在使用maven来构建OSGi包。


完整的解决方案:更新2014年1月9日: 我得到了一个更好的办法,并与下面的插件更新pom.xml

 <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.8</version> 
    <executions> 
     <execution> 
     <id>copy-installed</id> 
     <phase>install</phase> 
     <goals> 
      <goal>copy</goal> 
     </goals> 
     <configuration> 
      <artifactItems> 
      <artifactItem> 
       <groupId>${project.groupId}</groupId> 
       <artifactId>${project.artifactId}</artifactId> 
       <version>${project.version}</version> 
       <type>${project.packaging}</type> 
      </artifactItem> 
      </artifactItems> 
      <outputDirectory>some-other-place</outputDirectory> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

这是能够复制一次捆绑一代人做了一个我也可以给目的地文件夹。

回答

2

你想要什么时候复制你的包?

假设您有一个项目生成捆绑包,那么它应该在您的目标文件夹中可用,并且还将在本地存储库(〜/ .m2/repository/...)中安装(运行mvn install)。

您可以使用cp命令将其复制到任意位置。

将它作为构建的一部分部署到测试文件夹中并不一定是一个好主意:您的构建依赖于机器特定设置或魔法注入属性。这就是说,如果你想这样做,无论如何,我会用下面的办法:

  1. 必须依赖于束独立的Maven项目,只是部署它,无论你喜欢
  2. 定义一个属性指定目标目录(你可以在命令行上传递它,在你的settings.xml中定义它,或者在你的pom.xml中提供一个默认值)
  3. 在部署项目中使用maven-dependency-plugin:copy-dependency目标复制你的包
相关问题