如何识别并设置 Maven 中缺少的环境属性?

2023-11-23

我进行了构建设置,以便通过命令行传递变量:

mvn clean install -DsomeVariable=data

在我的 pom 中我有:

<someTag>${someVariable}</someTag>

这工作正常,但我想确定是否在命令行上未指定 someVariable,然后默认它以便我的脚本可以继续。

这可以在 Maven 中完成吗?


您可以在中指定默认属性值propertiesPOM 文件的部分:

<properties>
  <someVariable>myVariable</someVariable>
</properties>

如果您想确保属性值是ALWAYS在命令行上提供,然后您可以使用 maven-enforcer-plugin。

这是一个显示如何强制系统属性存在的链接 ->http://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

我将在此处逐字复制 XML,以防上述链接失效。

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.0.1</version>
        <executions>
          <execution>
            <id>enforce-property</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireProperty>
                  <property>basedir</property>
                  <message>You must have a basedir!</message>
                  <regex>\d</regex>
                  <regexMessage>You must have a digit in your baseDir!</regexMessage>
                </requireProperty>
                <requireProperty>
                  <property>project.version</property>
                  <message>"Project version must be specified."</message>
                  <regex>(\d|-SNAPSHOT)$</regex>
                  <regexMessage>"Project version must end in a number or -SNAPSHOT."</regexMessage>
                </requireProperty>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何识别并设置 Maven 中缺少的环境属性? 的相关文章

随机推荐

  • 从数组中提取单独的非零块

    例如有一个像这样的数组 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 Python 中将非零元素组织在列表中 其中每个元素包含连续非零值块的索引 的最快方法是什么 这里的结果将是一个包含许多数组的列
  • 如何让我的寻呼机查看更加流畅?

    我正在使用视图寻呼机来显示两个片段 一个片段包含相机预览 另一个片段仅包含简单的列表视图 问题是 整个滑动体验并不像应有的那么流畅 我猜其原因是 UI 线程必须同时处理视图寻呼机 相机和列表视图 现在 我能做什么呢 我可以在后台线程中运行什
  • 为什么 git 会忽略 .gitignore 文件中没有的文件?

    我有一个 git 存储库 它忽略图像文件以及其他一些文件 但是我的 gitignore文件只忽略了一个config php文件 是否有一些我似乎找不到的全局忽略文件 我现在必须指定文件来添加它们 它给了我这个警告 您的 gitignore
  • vsCode java.test.config vmArgs 不工作

    我的项目需要以下 vmArgs 才能运行 vmArgs javaagent lib aspectjweaver 1 9 5 jar javaagent lib spring instrument 5 2 3 RELEASE jar modu
  • file_get_contents():SSL 操作失败,代码为 1,无法启用加密

    我一直在尝试从我在服务器上创建的 PHP 页面访问这个特定的 REST 服务 我将问题缩小到这两行 所以我的 PHP 页面如下所示 该页面在第 2 行终止 并出现以下错误 Warning file get co
  • 如何有效转置二维位矩阵

    我一直在这个问题上绊倒 例如在这个问题 给定一个原始整数类型数组形式的 2D 位矩阵 板 数组 例如一个数组long 为了简单起见 我们可以假设一个方阵 例如 64 的数组long64 位平台上的值long Let x i for 0 lt
  • 为什么 Qt 中的字体显得模糊或像素化?

    我所有的字体都出现像素化 所以我使用AntiAliasing但这没有帮助 正如您在图像本身中看到的像素化字体 这是我当前使用的代码 butt1 QtWidgets QLabel Scrappr font QtGui QFont font s
  • 可以在 contenteditable div 中使用浏览器的撤消功能来撤消“range.insertNode”吗?

    我正在研究一个contenteditablediv 制作一个简单的富文本编辑器 我的要求之一是能够在按钮事件的光标位置插入 html 块 我能够通过使用使该部分正常工作range selection range insertNode nod
  • 反转表行

    我想反转表格正文行使用 jQuery 我拥有的 table width 630 border 0 cellspacing 0 cellpadding 0 thead tr td TITLE A td td TITLE B td 继续 jsf
  • 我可以处理 HTML

    我在 SO 和其他地方看到了很多关于右键单击事件以及如何使用 JavaScript 捕获和处理它们的问题和答案 通常使用 button的属性event浏览器生成的对象 然而 我还没有找到的一件事 可能是因为这是一个非常奇怪的请求 是如何捕获
  • “??”是什么意思?意思是?

    我正在查看 ASP NET MVC 1 0 生成的代码 并且想知道 双问号是什么意思 This constructor is not used by the MVC framework but is instead provided for
  • 在 C# 中使用 XML 文件存储数据

    我基本上是在寻找有人在这方面为我指明正确的方向 我阅读了一些 Microsoft 文档 但这并没有多大帮助 这是我第一次尝试使用 XML 我正在编写一个应用程序 需要存储已知用户的列表以及每个用户创建的别名列表 我已经弄清楚如何在应用程序关
  • Python Django ValueError:源代码字符串不能包含空字节

    我已经放下了一个我已经工作了几个月的 Django 项目 当我尝试重新运行服务器时 我收到了这个错误 ValueError source code string cannot contain null bytes 回溯是 C Users B
  • 在ios7中重新加载tableView标题

    如何在不重新加载所有表的情况下做到这一点 UIView tableView UITableView tableView viewForHeaderInSection NSInteger section UIView header if se
  • 无点风格并使用 $

    如何结合使用 和无点风格 一个明显的例子是下面的实用函数 times Int gt a gt a times n xs concat replicate n xs 只是写concat replicate产生错误 同样你不能写concat r
  • 在 Github 上获取 Travis Shield 以反映所选分支状态

    现在 无论我在 github 项目页面中选择哪个分支 我都可以让 travisshield 反映最新运行或特定分支 我可以通过在 URL 末尾省略或指定分支名称来完成此操作 相反 我想获得与所选分支相对应的盾牌 换句话说 每次我选择不同的分
  • 使用 javascript 取消注释 html 代码

    带有一些注释标签的 Html 表 我只是想取消注释这些标签 我尝试过使用 javascript 的正则表达式 但问题是它删除了整个注释行 因为我只是想取消注释这些标签 下面是带有注释标签的示例 html 表 table tr td ABCD
  • Angular2在第一次点击后删除点击事件绑定

    在我的应用程序中 我有一个甚至可以单击的按钮
  • 流星反应中的时刻?

    一直在使用https github com acreeger meteor moment在流星中 它工作得很好 但是有没有一种方法可以使时刻反应输出 以便它计数 3秒前 4秒前 等 我不会为每个单独的计时器使用新的会话变量 而是创建一个Tr
  • 如何识别并设置 Maven 中缺少的环境属性?

    我进行了构建设置 以便通过命令行传递变量 mvn clean install DsomeVariable data 在我的 pom 中我有