当前位置: 首页 > 面试题库 >

使用Maven从文件名中删除版本号

顾嘉德
2023-03-14
问题内容

我在Maven中有5个模块的项目。现在,当我执行“ mvn全新安装”时,它将生成一个耳朵,其中包含两个罐子,一个war和一个来自其他模块的sar。

所有文件名都包含版本,例如projectx-ear-2.0.0.ear,projectx-client-2.0.0.jar等。

我需要重命名其中一个jars和最后一个耳朵,以省略文件名中的版本。它看起来应该像这样:

projectx-ear.ear
|
+-- projectx-client.jar
|
+-- projectx-misc-2.0.0.jar
|
+-- projectx-sar-2.0.0.sar
|
\-- projectx-web-2.0.0.web

现在,我正在使用以下插件进行构建:maven-compiler-plugin和maven-release-plugin

实现我期望的结果的最佳方法是什么?


问题答案:

在您的耳模块中,您可以使用project.build.finalName元素,也可以配置支持可选参数的maven-ear-
plugin
finalName。要配置捆绑罐的最终名称,您需要定义一个,jarModule并为其设置bundleFileName属性。

最终配置可能看起来像这样(我将在此处演示如何在插件配置中设置最终的耳朵名称):

<project>
  [...]
  <dependencies>
    <dependency>
      <groupId>yourgroupid</groupId>
      <artifactId>projectx-client</artifactId>
      <version>2.0.0</version><!-- not mandatory if inherited -->
    </dependency>
    [...]
  </dependencies>
  [...]  
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <finalName>projectx-ear</finalName>
          <modules>
            <jarModule>
              <groupId>yourgroupid</groupId>
              <artifactId>projectx-client</artifactId>
              <bundleFileName>anotherName.jar</bundleFileName>
            </jarModule>
          </modules>
        </configuration>
      </plugin>
      [...]
</project>


 类似资料:
  • 我想知道是否有办法从maven依赖中删除版本号。 假设对于我的项目,我想使用maven依赖插件获取commons-lang3: 我的pom配置说,它正在获取对<代码>的依赖关系/我的项目中的lib目录 我想实现的是从commons-lang3-3.4动态删除版本号。jar。它看起来像: ./lib/commons-lang3.jar 问:有没有办法做这样的事情? 在这里指定finalName没有帮

  • 我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。

  • 问题内容: 我有一个像这样的textfile.txt: 如何删除最舒适的前三行和最后一行? 问题答案:

  • 我有一个包含一些文件路径的长文本。 我想做的是从其中删除路径。文件路径都类似于: 我知道使用“^/all”将选择以/all开头的句子,并选择以.js$结尾的句子。但我无法将这些合并在一起以选择整个文件路径。 毕竟,正则表达式应该放在下面的代码上以删除路径。 我能为它写正则表达式吗?有什么工具吗?

  • 问题内容: 我想生成一个将用maven更新应用程序的zip文件。该zip将托管在服务器上,我正在使用Assembly插件来生成zip。但是,我希望Maven自动生成一个文本文件,该文件将当前版本号存储在zip之外。这怎么可能? 编辑:我成功使用maven程序集插件和两个描述符创建了两个自定义程序集。一个人有一个目录单一目标,它只是基于过滤创建一个带有更新的version.txt的文件夹。然后,只有

  • 我有一个关于插件版本的问题。 当它生成带有目标的报告时: 这表明有很多库都有beta或alpha版本。 问题是,如果此插件的目标是显示每个依赖项的最新版本,我不想将beta/alpha版本用于生产代码。但我也不想手动搜索最后一个稳定版本。 我尝试过“comparisonMethod”选项:numeric、maven等,但都没有成功。 插件“版本”是否有任何想法来显示最新可用的依赖版本,但不包括be