当前位置: 首页 > 知识库问答 >
问题:

将Maven配置文件名包含在组装插件构建(带有依赖项)jar中

邢博涛
2023-03-14

我如何使jar的finalName包括lane name(dev、stage、prod等)?

我希望使用以下mvn命令生成如下所示的JAR:

  • MVN clean install-p dev-->ws-client-dev.jar
  • MVN clean install-p stage->ws-client-stage.jar
  • MVN clean install-p prod-->ws-client-prod.jar

我找不到maven的地方吗?如果可能,我希望避免使用冗余的命令行参数(即-'mvn clean install-p DEV-dlane=DEV')。

下面是我的程序集插件配置:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2.2</version>
    <executions>
        <execution>
            <id>jar-with-dependencies</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <finalName>ws-client</finalName>
        <appendAssemblyId>false</appendAssemblyId>
        <archive>
            <manifest>
                <mainClass>Example</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

共有1个答案

奚正谊
2023-03-14

与巴斯卡尔的相似但稍有修改

标记后,添加

<finalName>${project.artifactId}-${lane}</finalName>

可以将lane值设置为配置文件中的属性。

<profiles>
    <profile>
        <id>DEV</id>
        <properties>
            <lane>DEV</lane>
        </properties>
    </profile>
</profiles>
 类似资料:
  • 我正在使用maven shade插件创建一个胖罐子,其中也包括一些弹性城堡罐子。但这造成了问题,因为Bouncy Castle的未签名版本。

  • 有人能这么好心解释一下如何在Netbean MavenJava应用程序中使用所有maven依赖项创建单个jar文件吗?在Eclipse中,用户可以导出到Runnable jar文件并选择将所需的库打包到生成的JAR中,因此项目中的所有依赖项都包含在创建的jar文件中。在Netbean中没有这样的选项。我检查了其他答案,但我唯一理解的是我必须将代码添加到Build.xml文件中,该文件甚至不在项目中

  • 我将给你一个关于我的文件的概述: 设置。分级: Build.Gradle: 注意:我以为没有将依赖项添加到类路径中,但我不确定这一点。但是,我希望Intellij将依赖项添加到类路径中(或者在清单文件中声明) 但是,这会创建一个zip/tar,其中包含一个执行脚本和一个bin文件夹,这不是我的本意。 所以我开始在谷歌上搜索了好几个小时,但我找不到解决问题的方法。

  • 我在Eclipse内部使用Eclipse Maven(m2e),并且运行我的项目如下所示: 我的如下所示: 在我运行maven安装后,它正在工作... null 我没有办法...谁能告诉我一个正确的方法来添加我的依赖项在JAR?我不敢相信这么复杂,而且我到处都找不到我的问题的答案… 事先谢谢你

  • 问题内容: 有没有一种方法可以强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到我的jar中。 问题答案: 你可以使用带有描述符的插件来执行此操作。这是我们之一的相关块,它可以完成此任务:

  • 我正试图让maven下载所有的依赖项(编译、测试、插件等)。)这样我就可以避免让我们的dockerized构建浪费不必要的时间一遍又一遍地下载它们。 我们已经对maven build进行了dockerized,这样我们就可以从jenkins运行它,而无需在jenkins机器上安装大量构建特定的依赖项(Java、redis、maven依赖项等)。我们的构建依赖于增量docker构建,它只执行实际需要