gpt4 book ai didi

maven-2 - 是否有任何类似于 'dist' 的 Maven 目标?

转载 作者:行者123 更新时间:2023-12-04 04:00:41 27 4
gpt4 key购买 nike

我正在做一个使用 ant 的项目.我有一个目标 dist基本上可以做到jar首先,然后将应用程序安装到一个目录中。

这意味着,它将创建像 bin/ 这样的目录。 , lib/config/在安装目录中,然后将相关文件复制到每个目录中。

我的问题有两个:

  • 有没有做这种事情的maven目标?
  • 如果没有,我想做maven dist并做到这一点。你会如何建议我使用 Maven 来完成这个?
  • 如果我不能拥有自己的“目标”(如 dist),那么最好的方法是什么?

  • 底线:我想做这一切,但不想改变默认“目标”的行为,如编译和打包等。

    谢谢,
    jrh

    PS:我使用的是maven版本 2.2.21

    最佳答案

    你可以试着写一个 assembly descriptor对于assembly plugin (或搜索谷歌寻找合适的)。

    像这样的东西

    <assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=
    "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2
    http://maven.apache.org/xsd/assembly-1.1.2.xsd">

    <id>dist</id>
    <formats><format>zip</format></formats>

    <fileSets>
    <fileSet>
    <directory>src/main/config</directory>
    <outputDirectory>config</outputDirectory>
    <useDefaultExcludes>true</useDefaultExcludes>
    </fileSet>
    </fileSets>

    <files>
    <file>
    <source>${project.build.directory}/${project.artifactId}.jar</source>
    </file>
    </files>

    <dependencySets>
    <dependencySet>
    <useProjectArtifact>false</useProjectArtifact>
    <outputDirectory>lib</outputDirectory>
    </dependencySet>
    </dependencySets>
    </assembly>

    将创建一个 ${project.artifactId}-dist.zip在您的 target 内目录。 zip 文件的布局如下
    yourProjectName/
    yourProjectName/config/...
    yourProjectName/lib/...
    yourProjectName/${project.artifactId}.jar

    看起来组装插件只会创建压缩文件,它不会只是将它们复制到 dist文件夹。

    关于maven-2 - 是否有任何类似于 'dist' 的 Maven 目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4245981/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com