2

我想要一个应用程序/脚本,我可以使用它从给定的 Maven 工件执行独立的 Java 应用程序(即具有 main 方法的基本类)。根据我的研究,目前不存在这样的情况,但我想我会向社区提出这个问题,看看是否有人知道可以满足我需求的项目。

我的想法是,我将通过配置文件或命令行传入 Maven 工件规范(组 ID、工件 ID 和版本)以及完全限定的类名和参数列表。然后将下载给定的工件及其所有依赖项(如果它们已经在本地存储库中,则不下载),并且应用程序将使用适当的类路径启动。

在这一点上,我认为使用Aether 库和 Java 的 ProcessBuilder来实现一个系统不会太难,但我想知道在我开始重新发明轮子之前是否有其他人知道已经处理这个问题的现有项目.

4

3 回答 3

3

也许这很明显,但为什么 exec 插件不起作用?http://mojo.codehaus.org/exec-maven-plugin/

mvn exec:java -Dexec.mainClass=com.project.App

如果 com.project.App 是另一个 jar 的一部分,您可以像往常一样将其作为依赖项包含在内。

于 2011-06-02T22:28:30.953 回答
2

使用 Maven 运行应用程序非常简单。我想知道这是你正在看的东西还是我的问题错了?

mvn exec:java -Dexec.mainClass="com.test.foo.Main" -Dexec.args="arg1 arg2..." 
于 2011-06-02T22:27:16.523 回答
0

我刚刚将Installation plugin推送到 Maven Central 。它允许从存储库安装和执行工件,并且不需要项目。

它与 yum、apt 或 gem 等包管理器非常相似:

mvn installation:install -Dartifact=groupId:artifactId

这将创建路径上可用的类的快捷方式。

于 2013-10-01T17:16:08.470 回答