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

Maven:使用execmaven插件并读取项目属性

岳华灿
2023-03-14

在这种情况下,我必须读取某个属性文件,然后调用一个外部程序。

>

  • 为了读取属性文件,我使用了属性Maven插件,在验证阶段使用read-project-属性

    为了执行外部程序,我使用execmaven插件,调用Exec:Execgoal

    但是,如果我调用“mvn exec:exec”,则不会调用验证阶段,因此不会读取属性。

    在我当前的场景中,我无法将exec:exec与任何特定的阶段联系起来(这是因为所有其他阶段都有非常具体的作业要处理,而我尝试使用exec:exec执行的内容并不映射到这些阶段中的任何一个。我尝试做的更多的是一件独立的事情)。

    我找到的唯一解决方法是调用mvn validate exec:exec,这很有效,但我的问题是:

    1. 将阶段和目标混合作为maven执行的一部分是一个好主意吗
  • 共有1个答案

    史昱
    2023-03-14

    您是否可以使用配置文件将其与特定阶段联系起来,但仅限于特定情况/特定环境?

    http://maven.apache.org/guides/introduction/introduction-to-profiles.html

    您可以使用用户或环境变量,或者显式地使用特定的概要文件来触发您对概要文件的选择。然后在这个新的配置文件中,您可以重新定义为拥有一个完全属于您自己的阶段。

    真正创建自己的新生命周期阶段似乎是可能的,但并不容易:

    https://community.jboss.org/wiki/CreatingACustomLifecycleInMaven?_sscc=t

    老实说,我会使用您的命令行,先调用validate,然后调用exec。我不知道有什么副作用,正如你所说,这只是一个局部的、独立的任务。

     类似资料:
    • 问题内容: 我正在使用Gradle脚本工作,需要在其中读取文件并使用中的属性文件中的值。我以下面的方式来做。我运行了以下脚本,它现在引发错误,但是它也没有执行创建,删除和复制文件的操作。我试图打印变量的值,它显示正确的值。 有人可以让我知道这是否是正确的方法吗?我认为另一种方法是在中定义所有内容并在中使用它。有人可以让我知道如何从中访问属性吗? 文件: 文件: 问题答案: 如果使用默认文件,则可以

    • 我创建了带有过滤器的简单ear项目。我想对每个环境使用不同的设置,这些设置应该传递给生成的应用程序。xml文件,格式为env条目。使用maven ear插件生成ear包,如下所示: 为此,我必须使用另一个插件属性-maven-plugin。它成功地从文件中读取属性并将它们设置为maven项目属性,因此我可以使用将它们插入pom.xml文件中。它适用于大多数pom.xml元素(即 文件创建为user

    • 作为Maven的新手,我试图用Maven和maven-shade-plugin编译一个项目(因为它似乎是构建一个胖罐子的最佳插件)。我试图指定我的主类来创建一个可运行的jar文件和一些。包含翻译字符串的属性文件。 根据netbean的输出,编译和构建似乎通过了,但我无法按以下方式运行它(假设Maven构建的jar更名为“程序”): 这是我的项目文件结构: 这是我的pom.xml文件: 资源是否正确

    • 问题内容: 在发布此问题之前,我用Google搜索Spring项目(不是基于Web的项目)中的属性。我很困惑,因为每个人都在谈论application- context.xml并具有类似的配置 但是,我正在使用Spring进行普通的Java项目(没有Web应用程序之类的东西)。但是我想从属性文件中获取一些通用属性,并且需要在JAVA文件中使用。如何通过使用Spring / Spring注释实现此目

    • 我有一个多模块的项目,有两个模块:war和ear模块。我正在尝试使用Maven发行版插件来管理发行版。 我的配置到目前为止... 父POM: war模块POM: ear模块POM: 正如您看到的表单日志,test-war-0.0.1-sources.jar正在上传两次。这是为什么?我怎样才能编辑我的配置,使它只上传一次?

    • 我是maven的新手,在使用程序集插件生成zip文件时花了大约3天的时间,引用了http://www.petrikainulainen.net/programming/tips-and-tricks/creating-a-runnable-binary-distribution-with-maven-assembly-plugin/My project is multi module,所以我还引用