java - 如何使用 maven 打包并运行具有依赖项的简单命令行应用程序?

标签 java maven-2 maven

我对 java 和 maven 都是全新的,所以这可能非常简单。

如果我按照此处的 maven2 hello world 说明进行操作:

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

一切正常。如果我随后更改 pom.xml 以从远程存储库引入依赖项,则此依赖项的文件将存储在 ~/.m2/repository/new-dependency/ .

使用 hello world 说明中的语法运行应用程序需要我将依赖项的绝对路径添加到我的类路径(通过设置环境变量或通过命令行开关):

java -cp target/my-app-1.0-SNAPSHOT.jar:/.../.m2/.../new-dependency.jar com.mycompany.app.App

这显然很快就会变得笨拙:)

我怀疑这不是运行 Java 程序的常用方法,我只需要阅读更多关于 .jar 文件的信息,但在我这样做的同时,我将不胜感激有关如何正确执行此操作的任何提示。

顺便说一句,我没有使用 IDE。 vim 从命令行。

谢谢!

迈克。

最佳答案

您可以使用 maven 本身来运行它,我相信它会为您设置类路径。

mvn compile

会编译它 然后你运行:

mvn exec:java -Dexec.mainClass="com.mycompany.app.App"  

这将执行它。

可以看到http://www.vineetmanohar.com/2009/11/3-ways-to-run-java-main-from-maven/有关运行方式的更多信息(包括将命令行参数传递给您要运行的东西)

关于java - 如何使用 maven 打包并运行具有依赖项的简单命令行应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024027/

相关文章:

java - 如何从ArrayList<>中获取数组

java - 看不到 JComboBox 或 JCheckBox

java - 使用 ProcessBuilder 运行 mvn

maven-2 - 应用程序汇编器和长类路径

java - 如何编写 Maven 构建脚本来执行 Java

java - Maven 依赖作为模块

java - 如何获取导致 NumberFormatException 的文本字段?

java - 无法弄清楚在数组中使用循环

java - 将 Maven 项目包含到非 MAVEN 动态 Web 应用程序中

java - POM.xml 运行正常,但 java 文件的导入仍未解决