【问题标题】:Maven: add non-JAR dependencyMaven:添加非 JAR 依赖项
【发布时间】:2016-08-12 11:24:35
【问题描述】:

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

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

有什么办法吗?

【问题讨论】:

  • 如果你想做的是从远程文件夹下载文件并压缩它们,你为什么要用 maven 来做呢?
  • @AssenKolov 我想在使用 Maven 构建、测试和打包的存档中包含外部文件。
  • 您可以将文件作为 maven 作业的程序集发布,并使用构建最终 zip 的构建后步骤脚本。

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


【解决方案1】:

如果您可以下载这些文件,请解决密码问题。也许这会有所帮助。
在您放置类似内容的位置创建 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>

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 2013-05-21
    • 2012-07-25
    • 2015-07-12
    • 2019-08-18
    • 1970-01-01
    • 2017-05-20
    • 2017-03-07
    相关资源
    最近更新 更多