Maven:添加非JAR依赖项

时间:2016-08-12 11:24:36

标签: maven maven-3 maven-assembly-plugin

我正在使用maven-assembly-plugin创建tar.gz存档。现在我需要在该档案中包含文件。这些只是一堆普通的旧文本文件,在运行时是依赖项,而不是在编译或(单元)测试时。

我考虑过添加maven依赖项,但是这些文件不是存储在maven存储库中,而是存储在一个简单的remove文件夹中。更糟糕的是,此文件夹受密码保护。我可以在预构建步骤中将这些受密码保护的文件下载到本地文件夹中。但是仍然存在在程序集中使用这些文件的问题。此外,这是我想避免的额外工作。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您可以下载这些文件,请解决方法密码。也许这会有所帮助。
创建mod程序集项目,你可以在其中放置类似的内容:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"  
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">  
<id>${artifact.version}</id>  
<formats>
    <format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
    <dependencySet>
        <useProjectArtifact>false</useProjectArtifact>
        <useTransitiveDependencies>true</useTransitiveDependencies>
        <unpack>false</unpack>
        <excludes>
            <exclude>${project.groupId}:*:*</exclude>
        </excludes>
        <outputFileNameMapping>project${timestamp}_code-${artifact.name}.${artifact.extension}</outputFileNameMapping>
    </dependencySet>
</dependencySets>
<fileSets>
    <fileSet>
        <includes>
            <include>readme.txt</include> <!-- here's that plain file -->
        </includes>
    </fileSet>
</fileSets>

您可以在fileSet中包含这些文件。 http://maven.apache.org/plugins/maven-assembly-plugin/examples/single/filtering-some-distribution-files.html了解更多信息