从 Java 代码生成 Maven 原型

2023-12-04

我想知道是否可以在Java代码中运行maven命令:archetype:generate。 我已经使用 Maven 嵌入器尝试过此操作,但该库已被弃用。

我想做一个原型:从远程目录生成,并捕获原型所需的属性。

我想要运行的maven命令例如是:

mvn archetype:generate \
    -DgroupId=com.maven \
    -DartifactId=test \
    -DarchetypeVersion=1.0-alpha-4 \
    -DarchetypeGroupId=org.apache.maven.archetypes \
    -DarchetypeArtifactId=maven-archetype-j2ee-simple \
    -DinteractiveMode=false \
    -DarchetypeCatalog=http://repo1.maven.org/maven2/archetype-catalog.xml

对于某些原型,在执行此请求后需要一些属性。 我想在 GUI 屏幕上显示这些属性,就像 m2eclipse 插件一样,以便用户可以填写这些属性。

有人有建议吗?


您可以尝试使用Maven 调用者.

将此依赖项添加到pom.xml:

<dependency>
    <groupId>org.apache.maven.shared</groupId>
    <artifactId>maven-invoker</artifactId>
    <version>2.1.1</version>
</dependency>

代码可能如下所示:

import org.apache.maven.shared.invoker.*;

import java.util.Collections;
import java.util.Properties;

public class MavenInvoker {

    public static void main(String[] args) throws MavenInvocationException {
        InvocationRequest request = new DefaultInvocationRequest();
        request.setGoals( Collections.singletonList("archetype:generate") );
        request.setInteractive(false);
        Properties properties = new Properties();
        properties.setProperty("groupId", "com.maven");
        properties.setProperty("artifactId", "test");
        properties.setProperty("archetypeVersion", "1.0-alpha-4");
        properties.setProperty("archetypeGroupId", "org.apache.maven.archetypes");
        properties.setProperty("archetypeArtifactId", "maven-archetype-j2ee-simple");
        properties.setProperty("archetypeCatalog", "http://repo1.maven.org/maven2/archetype-catalog.xml");
        request.setProperties(properties);
        Invoker invoker = new DefaultInvoker();
        InvocationResult result = invoker.execute( request );
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Java 代码生成 Maven 原型 的相关文章

随机推荐

  • 将字符串字段值更改为其子字符串的最有效方法

    我有一个包含如下文档的集合 data 11 version 0 0 32 有些有test后缀为version data 55 version 0 0 42 test The version字段具有不同的值 但它始终符合以下模式 0 0 XX
  • Scrapy如何提取类内部属性中的文本?

    我有下面的 HTML 代码 div class hero data skills item hero data skills item passive J tooltip title div
  • 将文档预加载到 iOS 应用程序中

    情况 我有一个 iOS 应用程序 可以处理文件并允许用户保存 编辑 打开这些文件并执行各种操作 我希望能够有一些预制文档供用户在打开应用程序 例如模板 以及他们自己的自定义文档时查看 问题 如何创建文档 或模板文件 并在用户安装我的应用程序
  • 在微风中创建复杂类型的未绑定实例的正确方法是什么?

    想象一下以下模型 class ComplexTypeA public string ComplexPropertyA class ParentTypeA public string ParentPropertyA public Comple
  • 省略html的可选标签

    我刚刚读过本文来自谷歌 我一直认为结束标签对于保持 html 文档干净并使其机器可读非常重要 但他们建议相反 你怎么看待这件事 谷歌的情况有点不寻常 因为他们提供了太多的主要搜索页面副本 以至于页面大小的任何微小节省很快都会增加 这意味着对
  • plpgsql - 在声明语句中使用动态表名

    我正在尝试编写 plpgsql 一个以下形式的函数 注意这是一个简化版本 CREATE FUNCTION check valid tablename regclass RETURNS boolean AS DECLARE valid row
  • css3 比例周围的空白

    我有一个小问题想要解决 但找不到任何好的答案 当我在 div 包含其他 div 上使用比例时 它会在 div 的 原始 宽度和高度周围留下空白 如何在缩放时删除 div 周围的空白 如果需要的话我可以使用js 编辑 这是一些代码 HTML
  • 为什么 lea 指令只是执行算术运算,却以内存寻址命名? [复制]

    这个问题在这里已经有答案了 The lea指令 加载有效地址 获取第一个值的内存地址并将其与第二个值相加 第二个值可能会相乘 然后它将该内存地址加载到给定的寄存器中 我举个例子来澄清一下我的困惑 eax 2 leal eax eax 4 e
  • iOS7.0 和 iOS 7.1 不支持动态桌面视图高度

    我在 UITableViewCell 的各种实现中使用了自动布局 该方法是让固有大小定义大小 进而为 tableview 行提供高度 奇怪的是 在 UITableViewCell 中使用 Autolayout 来定位 iOS7 及更高版本并
  • Android SENSOR_DELAY_FASTEST 不够快

    我正在使用传感器来平衡机器人 但是SENSOR DELAY FASTEST只提供10Hz的采样率 这根本不够快 有没有更快的采样方法 有没有一种方法可以轮询传感器而不是等待SensorEvent 有没有更快的采样方法 SENSOR DELA
  • bash - 如何获取(当前)儒略日数?

    如何获得今天的儒略日数 JDN 相等的 或者任何日期 我看了又看 但只发现了一些产生 year dayOfYear 的函数 而不是类似 2457854 in bash date j返回儒略日期 root TX Serv 1 date j 1
  • 如何在 ASP.NET 中从 Exchange Web 服务托管 API 2.0 更新约会

    我使用 EWS 托管 API 2 0 创建约会 效果很好 但也想更新现有的约会 我读到我需要预约 ID 来指定应编辑哪个预约 但是身份证在哪里呢 这是我创建约会的方法 Creates the Appointment Dim appointm
  • Koha RESTful api

    我一直在互联网上查找有关 Koha ILS Restful api 的信息 但没有找到任何具体信息 这个链接讨论了它的 HTTP API http wiki koha community org wiki Koha svc HTTP API
  • d3.js-向堆积条形图中的一个条形添加不同的颜色

    我使用 d3 js 创建了堆积条形图 我想显示一个具有不同颜色的条形图 以突出显示特定 x 轴值的数据 如下所示 我用来绘制堆积图的脚本如下 Set the dimensions of the canvas graph var svg d3
  • 如何在R中的关键字前添加逗号?

    我目前有一个城市的数据框 向量 其末尾有以以下任何一个开头的单词 Util Municipal Police Water 或末尾有 如何前往 Col City of Fake Municipal Court City of Pretend
  • 安装依赖项时composer-plugin-api错误

    我正在尝试为我正在处理的现有 Symfony 项目安装依赖项 我看了这个https getcomposer org doc 01 basic usage md composer lock the lock file它说我应该运行更新命令 p
  • 独立 EJB 客户端需要哪些 JBoss 5.1 库?

    我正在从 JBossAS 4 05 迁移到 JBoss 5 1 并且我对需要在 EJB 独立客户端中更改哪些库有疑问 从 JBossAS 4 0 5 开始 我有一个需要在所有客户端中部署的库的直接列表 但是 在 5 1 版本中 一些库被更改
  • 一页多个ajax请求+如何做+最佳实践

    我现在正在研究谷歌图表 并且已经有了一个基本的设置 它目前所做的是连接到数据库并返回基于 1 个查询的数据集 我想知道的是 如果我想用不同的数据库查询绘制更多图表 我该怎么做 或者什么是最佳实践 例如 已经有一个与一个查询的连接 如何添加另
  • MATLAB 舍入函数 - 如何向上或向下舍入 0.5?

    MATLAB 的舍入函数如何与 5 一起使用 比如5 5 是向上舍入到 6 还是向下舍入到 5 Mathworks 页面讨论这个函数没有提到这一点 这个例子也没有帮助 以下是 MATLAB 舍入函数的 mathworks 页面 mathwo
  • 从 Java 代码生成 Maven 原型

    我想知道是否可以在Java代码中运行maven命令 archetype generate 我已经使用 Maven 嵌入器尝试过此操作 但该库已被弃用 我想做一个原型 从远程目录生成 并捕获原型所需的属性 我想要运行的maven命令例如是 m