如何找到 Maven 目标绑定的默认阶段?

2024-05-19

在 Maven 中,我如何找出目标的默认阶段(如果该特定目标存在任何默认阶段)?

Example

我正在使用一个名为的 Maven 插件Jetty Maven 插件 http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin。它包含一个目标jetty:run。运行命令mvn jetty:run(注意这个命令只包含一个目标,而不是一个阶段)首先构建一个pom.xml-指定的Web应用程序最高可达默认值test-compile phase http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference,然后将其部署到 Jetty 服务器内。

正如中指出的Mojo API 规范 http://maven.apache.org/developers/mojo-api-specification.html,一个目标可以在其源代码中分配一个默认阶段(通过@phase or via @execute phase). 的情况下jetty:run,默认相位为@execute phase="test-compile" http://grepcode.com/file_/repo1.maven.org/maven2/org.mortbay.jetty/jetty-maven-plugin/8.1.4.v20120524/org/mortbay/jetty/plugin/JettyRunMojo.java/?v=source.

但查找源代码文件可能会变得相当复杂。有没有更简单的方法来找出默认阶段?


最简单的解决方案是使用maven 帮助插件 http://maven.apache.org/plugins/maven-help-plugin/describe-mojo.html像下面这样:

mvn help:describe -DartifactId=maven-compiler-plugin -DgroupId=org.apache.maven.plugins -Dgoal=compile -Ddetail

这将打印出许多信息,但在第一行:

[INFO] Mojo: 'compiler:compile'
compiler:compile
  Description: Compiles application sources
  Implementation: org.apache.maven.plugin.CompilerMojo
  Language: java
  Bound to phase: compile

  Available parameters:
  ....

如果你尝试为 jetty:run 像这样:

mvn help:describe -DartifactId=jetty-maven-plugin -DgroupId=org.mortbay.jetty -Dgoal=run -Ddetail

您将获得大量输出,但不会看到默认阶段,因为它是从命令行调用的:

[INFO] Mojo: 'jetty:run'
jetty:run
  Description: This goal is used in-situ on a Maven project without first
    ....
    redeploying.
     .....

  Implementation: org.mortbay.jetty.plugin.JettyRunMojo
  Language: java
  Before this mojo executes, it will call:
    Phase: 'test-compile'

  Available parameters:
      ....
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找到 Maven 目标绑定的默认阶段? 的相关文章

  • Maven war 插件无法排除分解的 war 格式的库

    我正在使用 Maven War 插件排除一些常见的 jar 并将它们放入类路径中 我能够正确生成排除指定库的 war 文件并将它们添加到类路径中 但分解 的 war 目录仍然包含排除的库 如何使用 Maven War 插件的配置生成分解的
  • 如何从 CloudBees 部署到私有 Maven 存储库?

    我想在我的 CI 环境中使用 CloudBees 但我也想将我的 Maven 工件部署到我现有的私有 Nexus 存储库 在我当前的本地 Hudson 设置中 我使用 m2 settings xml 文件中的用户名 密码设置 如下所示
  • gradle 1.10 内部 Maven 存储库在 intellij 13 中永远索引

    我有两个项目 一个 Maven 和一个 Gradle 该公司还有一个内部 Maven 存储库 我正在尝试设置 Gradle 以使用内部存储库 使用 Intellij 13 当我将像这样的存储库添加到 build gradle 中的 Grad
  • IncompleteClassChangeError:类 ClassMetadataReadingVisitor 具有接口 ClassVisitor 作为超类

    我使用 spring mvc 和 mongodb 作为数据库构建了一个 Web 应用程序 我使用 maven3 来构建应用程序 项目构建成功 但是当应用程序启动时 我在日志中收到以下错误 因此我的应用程序无法启动 这在几个月前曾经有效 引起
  • 如果由 maven-assemble-plugin 构建,则手动附加主要工件

    我在构建 Maven 项目时遇到问题 我有一个生产要求确定性的jar 文件 这些文件在不同的构建和版本之间必须是二进制一致的 以防这些构建之间没有源代码更改 为此 我使用了本文 http gary rowe com agilestack 2
  • 如何以编程方式调用 Maven 依赖插件

    我正在尝试以编程方式调用 maven dependency plugin 我正在使用 Maven 3 版本 问题是 当我通过pluginManager executeMojo session execution 调用它时 我收到以下错误消息
  • 没有互联网连接的 Maven

    我是 Maven 项目的新手 我正在将 ant 项目更改为 Maven 项目 为了在 Maven 本地存储库中安装第 3 方 jar 我使用了 install 命令 它尝试下载资源 jar pom 我在我的组织中没有下载权限 因此构建安装失
  • Maven findbugs:check - 错误的输出摘要

    有谁知道如何配置 maven findbugs 插件以将错误摘要输出到控制台 类似于 pmd 插件 目前 findbugs check 只是打印出总共有多少个错误 我需要检查各个模块 target findbugs 目录和每个 findbu
  • 排除测试的 Maven 依赖

    我有编译和运行时所需的依赖项 但我想在运行测试时排除它 这可能吗 也许 通过设置个人资料 但我如何仅停用它test生命周期阶段 您可以在测试阶段 重新 配置类路径 这要归功于Maven Surefire 插件 http maven apac
  • 使用 Maven 3 时 Cobertura 代码覆盖率为 0%

    读完这篇文章后 将 Cobertura 与 Maven 3 0 2 一起使用的正确方法是什么 https stackoverflow com questions 6931360 what is the proper way to use c
  • 导出 Maven 依赖项并维护存储库文件夹结构

    我想知道是否可以导出 复制使用 Maven 管理的项目的依赖项 同时维护本地存储库中采用的文件夹结构 我的需求的根源近十年来 我在本地存储库 8GB 中积累了很多工件 我不再处理以前分配的那些吸引了大部分工件的旧项目 现在 我需要将一个项目
  • 访问运行配置 VM 参数中 eclipse 类路径变量 M2_REPO 的值

    在 eclipse 的运行配置中 为您提供了一组可以在 VM 参数中使用的默认变量 例如container path and env var 我想要访问的是类路径变量 M2 REPO 但看不到这样做的方法 我需要在 VM 参数中指定 jav
  • Maven 构建在 Jenkins 上失败,但可以在本地计算机上运行

    我有一个全新安装的 Debian Wheezy 服务器 运行 Jenkins 1 596 最新版本 安装自官方deb包 http pkg jenkins ci org debian 为了与詹金斯一起玩 我创建了一个新的Maven项目使用 G
  • 从插件设置 Maven 属性

    我在这里阅读了一些关于如何从 Maven 插件设置属性的问题 其中大多数讨论了应用程序的版本号 似乎没有简单的方法可以做到这一点 我发现的最佳解决方案是拥有一个从插件更新的 filter properties 文件 并由主 pom 文件使用
  • Jenkins 未显示 Maven 编译器错误

    在 Jenkins 中构建多模块 maven 3 项目时 如果出现构建错误 我们会收到一条神秘消息 表明 Maven 编译器插件失败 这在上周才刚刚开始发生 INFO BUILD FAILURE INFO INFO Total time 1
  • Docker、maven 和 settings.xml

    给出以下简单的 Dockerfile FROM maven 3 6 3 ibmjava 8 alpine Copy maven settings COPY settings xml usr share maven ref COPY pom
  • JBehave 和 Maven - 如何跳过场景测试

    我正在使用 jbehave 和 jbehave maven 插件来运行一组场景测试 让我的测试类扩展 JUnitStories 一切都运行良好 唯一的问题是 我无法停止运行测试 每次我运行 Maven 安装目标时 它都会运行测试 我尝试在下
  • Eclipse Juno 中的生命周期配置错误未涵盖插件执行

    为什么我的 Maven 构建在命令行上工作得很好 但是当我在 Eclipse 中运行时 它需要我将此部分添加到我的 pom xml 中 否则我会收到此错误 Plugin execution not covered by lifecycle
  • 将 XSD 文件分发到多个 Maven Artifacts

    这是我想要实现的一个小例子 Maven Artifact A 是众多 Web 服务之一 并定义了 XSD 架构 请求和响应的定义 src main resources xsd 工件 A 依赖于工件 B 工件 B 是一个简单的 JAR 项目
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情

随机推荐

  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • Blazor:单击按钮时调用服务器方法?

    我创建了一个示例 Blazor 项目 该脚手架有两个示例 1 调用网页中存在的 C 方法 计数器 2 在网页初始化开始时调用服务器方法 天气表 但没有任何调用服务器方法并在单击按钮时获取结果的示例 那可能吗 例如 我可以将这样的方法添加到
  • 修复 laravel 5 会话在刷新或进入另一个页面后过期的问题?

    我正在使用 laravel 默认身份验证 当我登录我的网站时 一切都很好 当我尝试刷新或转到另一个页面 仍然使用身份验证中间件 时 我的会话已过期 我直接注销 必须再次登录 如何解决此问题 以便在刷新页面或浏览另一个页面时保持登录状态 值得
  • django 模板 - 如何动态访问变量?

    假设我有一个具有以下上下文的 django 模板 data1 this is data1 data2 this is data2 data name data2 现在我知道了data name 假设它是 data2 是否可以用它来访问变量d
  • 如何使用 NGEN 二进制文件安装 IronPython 2.0?

    有谁知道如何使用 MSI 包安装带有 NGEN 二进制文件的 IronPython 2 0 这IronPython 官方主页 http www codeplex com IronPython据说NGEN选项将大大改善启动时间 但由于某种原因
  • 构建 Vue 微前端应用程序(带有路由和 vuex 存储)

    我需要帮助配置使用 Vuex Vue Router 和 Vue i18n 的微前端应用程序的构建 分发 TL DR 我在构建将导入到现有系统中的微前端应用程序时遇到问题 我们的团队尝试通过 vue cli service 和 vue web
  • 使用 yum 和 pear 安装 php-soap 均失败

    我正在尝试在 Centos 6 4 服务器上安装 PHP 的 SOAP 扩展 我对包管理器 从 CLI 安装包并在 PHP 中配置它们相当不熟悉 我相当有能力管理 php ini 和其他 PHP 配置文件 soap ini 等 我尝试使用以
  • ubuntu 16.04.1 LTS 启动 Android 模拟器时崩溃

    我已经尝试过 Android studio 上的 AVD 和 Genymotion 模拟器 我的 ubuntu 16 04 1 在启动 android 模拟器时崩溃 冻结 我的电脑内存是16G 在我于 2016 年 9 月 19 日安装了
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • 查找正在导入哪些 python 模块

    从应用程序中使用的特定包中查找所有 python 模块的简单方法是什么 sys modules是将模块名称映射到模块的字典 您可以检查其键以查看导入的模块 See http docs python org library sys html
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • iOS Storyboards 我应该使用它们吗? [复制]

    这个问题在这里已经有答案了 我是 iOS 开发新手 尚未创建应用程序 但我向我的朋友寻求建议 他在市场上拥有非常高评价的应用程序 他说不要使用故事板 尽管我很想听取他的建议 但它们似乎确实很有帮助 这是否会在将来给我的应用程序带来问题 我有
  • Windows 8 Metro 应用程序(网格应用程序)过渡时出现黑色闪烁

    我正在基于网格应用程序模板构建 Windows 8 Metro 应用程序 一切都很顺利 直到我尝试更改应用程序的主题和背景 我将图像背景应用于所有 3 个 XAML 页面的网格 另外 我在应用程序包清单中将主题更改为 Light 但它没有执
  • 如何在多线程C++ 17程序中交换两个指针?

    我有两个指针 pA 和 pB 它们指向两个大的哈希映射对象 当pB指向的哈希图完全更新后 我想交换pB和pA 在C 17中 如何快速且线程安全地交换它们 原子 我是 c 17 的新手 2个指针的原子无等待交换可以通过以下方式实现 inclu
  • Firebase 身份验证在 iOS 登录时卡住,没有错误

    我已经使用电子邮件和密码设置了 firebase 身份验证登录的最基本实现 firebase auth signInWithEmailAndPassword email password then gt console log Logged
  • App Engine NDB:如何访问属性的 verbose_name

    假设我有这个代码 class A ndb Model prop ndb StringProperty verbose name Something m A m prop a string value 当然 现在如果我打印 m prop 它会
  • Ruby 动态变量名

    有没有办法在 Ruby 中创建具有动态名称的变量 我正在读取一个文件 当我找到一个字符串时 会生成一个哈希值 e g file File new games log r file lines do l l split do p if p 1
  • 使用pathlib获取主目录

    翻看新的pathlib在 Python 3 4 中 我注意到没有任何简单的方法来获取用户的主目录 我能想到的获取用户主目录的唯一方法是使用旧的os path像这样的库 import pathlib from os import path p
  • 如何找到 Maven 目标绑定的默认阶段?

    在 Maven 中 我如何找出目标的默认阶段 如果该特定目标存在任何默认阶段 Example 我正在使用一个名为的 Maven 插件Jetty Maven 插件 http wiki eclipse org Jetty Feature Jet