2016-09-29 103 views
-1

是否有可能从一个Maven仓库中读取某些资源文件(不是罐子)作为使用者?在本地Maven仓库中访问jar以外的文件

我能够与命令,如安装:

mvn install:install-file -Dfile=mycommand -DgroupId=mygroupid -DartifactId=myartifactid -Dpackaging=bin -Dversion=1

文件mycommand是我想安装和部署可能对我的本地库,其定期本地可执行。

我这样做的原因是,我希望在另一个Maven项目中检索此文件并访问它(并可能通过exec:exec目标使用它)。

我知道maven基本上是用于jar分发和管理的,但有些情况下,在大型java项目中可能需要小型本地工作,并且最好将它们放在一起,按需要打包。

回答

1

部署文件存储库来

很可能把二进制文件在本地/公司Maven仓库。

更多细节在这里: Upload linux binary file to maven repository

在另一个构建

,可以通过maven-dependency-plugin实现使用它。

下面是一个项目中的一个示例,该示例说明如何复制在别处构建的WAR文件。 的想法是将其添加为一个依赖,然后有一个步骤将其复制到您选择的文件夹:

<dependencies> 
    <dependency> 
     <groupId>some.group.id</groupId> 
     <artifactId>some-artifact-to-copy</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <type>war</type> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.10</version> 
      <executions> 
       <execution> 
        <id>copy.some.artifact</id> 
        <goals> 
         <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.basedir}</outputDirectory> 
         <excludeTransitive>true</excludeTransitive> 
         <stripVersion>true</stripVersion> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+0

我的问题是更如何检索这些文件回来,而不是如何安装它。我可以使用我描述的命令来安装它。 – Panayotis

+0

@Panayotis也更新了答案以覆盖这一点 –