问题标签 [maven-embedder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在机器上没有安装 Maven 可执行文件的情况下从 Java 运行 maven 目标
我正在尝试构建一个项目以从 SCM 签出代码并使用 maven 构建它。有没有一种方法可以在不提供 maven home 的情况下从 java 实现运行 maven 目标(没有安装 maven)。对于 SVN,我使用 svnkit 来实现相同的目的。对于 Maven,我尝试使用以下 2 个选项。
http://maven.apache.org/ref/3.0-beta-3/maven-embedder/ 谁能给出一个以编程方式使用 org.apache.maven.cli.MavenCli 的好例子?
对于上述两个选项,我需要安装 maven。有什么建议么?
java - 无法通过 MavenCli (maven-embedder) 运行 maven 任务
我在我的程序中使用 Maven embedder 3.3.3 以编程方式运行 Maven 目标,每次运行该MavenCli.doMain
方法时都会出现以下错误:
-Dmaven.multiModuleProjectDirectory
系统属性未设置。检查$M2_HOME
环境变量和mvn
脚本匹配。
java - Maven Embedder - 以编程方式运行 hibernate3:hbm2java
** 更新 **
我试图重现该错误并尝试创建一个最小、完整和可验证的示例。不幸的是,即使在执行从头开始重新启动技术之后,我什至无法自己(我的)重现错误......
当我手动执行 hibernate3:hbm2java 命令时,该应用程序工作。
尽管如此,它似乎并没有以编程方式工作。
当我运行应用程序时,会显示一个巨大的错误日志。这里是前几行:
我已经将我的配置推送到了这个 repo。它需要一个(在内存中)带有 pw: "password" 的 MySQL 数据库才能工作。
https://github.com/Weirdfishees/reverse-engineering.git
这是我的配置:
起居室:
休眠.cfg.xml
reveng.xml
和 application.java
我的问题保持不变。
如何以编程方式运行以上配置的 hibernate3:hbm2java?
-- 不可重现 - 但附加信息 --
介绍
嗨,stackoverflow 用户,我对 Maven Embedder 的使用有疑问。
在我归结为实际的代码部分之前,我想与您分享我的问题的上下文。
我正在构建一个接收用户输入的 GUI 应用程序 (javaFX)。基于此输入,应用程序动态生成两个休眠配置文件(hibernate.cfg.xml 和 reveng.xml)。基于这些配置文件(提供连接详细信息),应用程序的以下所需功能是自动(无需用户交互)对数据库进行逆向工程并创建所有表的 POJO 类(自下而上开发)。
当我手动执行 mvn hibernate3:hbm2java 参数(使用命令行或简单地在 eclipse 中运行为 -> maven build.. -> 目标 mvn hibernate3:hbm2java)时,创建了包含我想要的所有类的所需包。
但是,目标是以编程方式执行 mvn hibernate3:hbm2java 而不是手动执行。
研究
我尝试了以下选项:
此选项不会引发任何错误,但是程序中似乎没有发生任何事情(在 eclipse 中刷新视图后,所需的类不存在......)
即使这个选项有效,由于应用程序的上下文(应用程序将跨平台使用),我更喜欢使用 Maven Embedder。
此外,我不喜欢将 user3254289 的答案与使用 Maven Invoker 的建议一起使用。
问题
基于 MariuszS 关于如何从 java 运行 maven 的问题给出的答案?
我已将我的应用程序配置如下:
pom依赖:
使用取自https://github.com/mariuszs/maven-cli-example的以下(调整后的)方法
出现以下错误:
我对 MAVEN_HOME 变量进行了一些检查。因为我可以在 cmd 和 eclipse 中毫无问题地执行 mvn 命令,所以我认为这些设置是正确的(如果我错了,请纠正我)。
马文
爪哇
有谁知道如何克服这个错误并实现我想要的从 java 运行时自动触发 mvn hibernate3:hbm2java 的目标?
TL;博士
使用 Maven Embedder 时如何修复 java.lang.NoSuchMethodError?
鉴于:
java - Maven Embedder:如何添加命令选项
我正在使用Maven Embedder如下:
这有效,相当于运行命令行命令
在目录中
但是,我需要为 Maven 指定一个选项,以便 Maven Embedder 执行与命令行命令等效的操作
如何才能做到这一点?
scala - MavenCli - 标准输出、标准错误
我一直在尝试使用MavenCli
,给它ByteArrayOutpurStream
-sstdout
和stderr
. 我有一些测试可以验证某些记录是否已写入这些流。只要我有一个测试,一切都OK。但是,如果我引入另一个测试,它会失败,因为没有任何东西写入标准输出。
这是一个片段(Scala):
如果我注释掉"write something"
测试,则"write something else"
通过。
如果我注释掉"write something else"
test (并取消注释"write something"
),则"write something"
通过。
如果两者都未注释并执行,则一个失败("write something else"
,因为它是顺序的)。
在maven执行后添加println
-s outStream
,原因似乎outStream
是空的......
我无法弄清楚为什么,或更重要的是,如何解决。
有任何想法吗?...
在此先感谢, 奥哈德
java - 在 Maven 插件中调用 MavenCli 失败
我创建了一个小 util 来 wrap MavenCli
,它使用快速入门原型生成一个新的 Maven 项目。
当Util
作为单元测试执行时,它工作得很好(只是生成一个空的 Maven 项目)。
现在我想将这个小包装器集成到一个 Maven 插件中。但是当我执行 mojo(在第三个 Maven 项目中)时,调用MavenCli
失败并出现异常:
该实用程序看起来像:
util的相关依赖:
mojo 代码如下所示:
mojo 的 POM 仅包含对相关 Maven 工件(plugin-api、plugin-annotation 等)和 util.xml 的依赖项。
我提到的第三个项目是一个空的“maven-quickstart”项目,它依赖于 mojo-project 和 mojo 在编译阶段执行的配置。
我不知道为什么它在单元测试的上下文中起作用,但在 mojo 的上下文中却不起作用。
有人可以帮忙吗?
java - Maven Embedded 3.3.9 - 有可能吗?
所以我试图将 maven 嵌入到我的代码中,而不是使用 shell 包装器,但是我在让它真正工作时遇到了问题。
该master
分支可以工作,但是它是 maven (3.1.1) 的旧版本,我想使用更新的版本。
该339
分支具有我可以为 pom.xml 中定义的该版本确定的所有依赖项。
但是,再多玩依赖项也不会帮助避免以下错误。
我已经完成了所有我能找到并阅读大量邮件列表的 SO 问题,但似乎很少有人想要这样做,或者我只是失败了。
各位大侠有什么想法吗?
java - 使java项目与maven集成
我正在尝试将 maven 与旧式 java 项目集成来管理依赖项。
要简单地下载罐子,我可以使用
但由于一些产品挑战,我需要自己将这些 jar 添加到 classPath 中。因此,如果有某种工具/解决方案可以帮助自动获取这些详细信息。就像所有 jar 包作为特定 pom.xml 的一部分下载的一样
示例:我可以在 java 代码中运行上述命令
并自己解析输出,但我想知道是否有更好的方法来代替我解析所有这些。
另外,请建议我处理这种情况的更好方法。
PS:我无法使用任何工具等将项目转换为 Maven 项目(因为我会更改项目的结构),而是我自己也有类似的行为
更新
我发现我可以使用 maven-embedder.jar 但我找不到太多帮助。我只想用于下载依赖项,即我的命令如下:
我怎么能这样做?
java - 当我使用 Maven-Embedder 从 Java 运行 Maven 项目时如何获取日志?
我想为几个 Maven 项目创建一个小型监控工具。
我有三个服务器应用程序,它们应该在开发时运行。我们目前有一个运行它们的小型 shell 脚本,但是在查看日志时非常不精确,并且令人讨厌重新启动它们并终止进程。这在 Windows 下也不起作用。这就是为什么我想为其他开发人员提供一个小型监控工具,以优化实时查看状态、日志等。
我使用 Maven 嵌入器,但是当我运行 MavenCli 时,没有出现任何日志。
如何访问 Maven 项目的日志流?可以访问打印行和错误。
我的代码的基线如下:
maven - 如何使用 Maven 以编程方式部署工件
我的任务是开发一个集成工具,该工具允许从源代码文件夹生成 WAR 或 OSGI Bundle,然后将其部署在 Tomcat 或 Karaf 中。我使用 Maven Embedder 创建工件,现在我的问题是如何配置我的 pom.xml 以自动部署这些工件。
在互联网上我找不到任何示例,而且我对 JEE 和 Maven 的世界还是新手。请帮我。