在命令行中使用 maven 编译整个项目后如何运行单个类? [复制]

     2023-02-27     77

关键词:

【中文标题】在命令行中使用 maven 编译整个项目后如何运行单个类? [复制]【英文标题】:How do I run a single class after compiling the whole project with maven in command line? [duplicate] 【发布时间】:2018-03-21 01:29:18 【问题描述】:

我可以在 Eclipse 中运行它,但是用命令行运行它时遇到问题。

我要运行的主要 java 类是 Example.java(在 src/main/java/examples 内) 请注意,虽然主 Example.java 中有一个简单的 junit 测试,但我不希望有任何与 src/test/java 中的 java 文件相关联的测试)

首先我cdpom.xml所在的目录

cd pathToTheProject/项目名称

我执行以下操作:

mvn cleanmvn 编译 mvn 包

现在只运行名为 Example.class 的主类,我编写以下内容(我想 pathToMavenLib/.m2/repository/* 包含所需的所有 jar 文件) :

java -cp "pathToMavenLib/.m2/repository/*" examples.Example

但这给了我错误:错误:无法找到或加载主类示例。示例

编辑: 我使用 mvn exec:java -Dexec.mainClass="org.junit.runner.JUnitCore" -Dexec.arguments="examples.Example"

解决了我的问题

【问题讨论】:

【参考方案1】:

您可以将可部署的工件创建为 war 文件(通过使用 <packaging>war</packaging> 将打包更改为 war),该文件将包含其 lib 目录下的所有依赖 jar 文件。 然后你可以运行:mvn clean install

然后您可以通过提供类路径参数来提取它并直接运行您的类文件。

其他选项是使用 maven 运行插件 - mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...

参考:Maven Run Project

【讨论】:

感谢您的回复。我的主类没有 main 方法,因为它与 junit 一起运行。你知道我在使用“mvn exec:java”命令时如何引用 junit 中的主要方法,所以我说类似 mvn exec:java org.junit.runner.JUnitCore -Dexec.mainClass="examples.Example" 但它给我错误 mvn -Dtest=TestCircle 测试 谢谢,现在基于我在问题中提供的主要 java 类,我尝试运行 mvn -Dtest=examples.Example testUnsatisfiableClasses 但不起作用。我写的命令是真的吗? 运行时遇到什么错误?检查您的 Maven 版本和测试插件。参考:maven.apache.org/surefire/maven-surefire-plugin/examples/…mkyong.com/maven/how-to-run-unit-test-with-maven @april 如果你没有 main 方法,你是在自找麻烦。

如何在命令行中编译和链接项目?

】如何在命令行中编译和链接项目?【英文标题】:howtocompileandlinkprojectincommandline?【发布时间】:2016-11-0410:11:14【问题描述】:使用VisualStudio,我写了一个C++程序MyCat,所以它可以在VSIDE中编译生成一个MyCat.DLL文件。另外,我可... 查看详情

在一个maven项目中执行一个简单的测试类代码,没有在run面板打印结果,而是在build面板使用install命令编译整个模块(代码片段)

...f0c;没有在Run面板打印结果,而是在Build面板使用install命令编译整个模块。错误代码importorg.junit.Test;publicclassTest07@Testpublicvoidtest()System.out.println("helloworld");原因在不知不觉中对IDEA中的maven设置进行了改动,如图ÿ... 查看详情

maven用途

1.使用Maven编译项目,命令是:“mvncompile”在命令行中,进入pom.xml所在目录,输入命令即可。2.使用Maven清理项目,命令是:“mvnclean”3.使用Maven测试项目,命令是:“mvntest”4.使用Maven打包项目,命令是:“mvnpackage”1)修改 ... 查看详情

如何在myeclipse中使用maven

...息到pom.xml的dependencies下,如图所示。在MyEclipse上运行mvn命令,右键项目选择RunAs--》Mavenclean。mvn命令有很多,简单说明下比较常用的命令:1. clean 用于清理输出目录target/2. compile用于编译项目主代码 3. test ... 查看详情

myeclipse自带maven应该如何使用啊

...m.xml的dependencies下,如图所示。  5、在MyEclipse上运行mvn命令,右键项目选择RunAs--》Mavenclean。mvn命令有很多,简单说明下比较常用的命令:  1.clean用于清理输出目录target/  2.compile用于编译项目主代码  3.test用于编译运... 查看详情

使用用户输入在命令行中运行 java 项目

】使用用户输入在命令行中运行java项目【英文标题】:Runningjavaprojectincommandlinewithuserinput【发布时间】:2016-03-1210:18:54【问题描述】:我有一个在命令行中运行的java项目。我创建了一个.bat文件来运行该项目。但是,我的java项目... 查看详情

maven一键构建概念与maven的安装

...构建       指的是整个构建过程,使用maven一个命令可以轻松完成整个工作。   我们一起来看Hello-Maven工程的一键运行的过程。通过tomcat:run的这个命令,我们发现现在的工程编译,测试,运行都变得非常简单... 查看详情

2020-2-22(代码片段)

...,这个过程称为构建.指的是整个构建过程,使用maven一个命令可以轻松完成整个工作。仓库:本地仓库远程仓库中央仓库全局setting与用户settingmaven仓库地址、私服等配置信息需要在setting.xml文件中配置,分为全局配置和用户配置... 查看详情

如何在 Windows 的命令行中使用 MinGW 编译器?

】如何在Windows的命令行中使用MinGW编译器?【英文标题】:HowdoIusetheMinGWcompilerfromthecommandlineonWindows?【发布时间】:2013-11-1414:18:17【问题描述】:我已经在我的Windows7机器上安装了BloodshedDev-C++编译器。现在如何从命令行编译?【... 查看详情

在 Visual Studio 中编译与在命令行中使用 cl 编译

】在VisualStudio中编译与在命令行中使用cl编译【英文标题】:compilinginVisualStudiovs.compilingwithclinthecommandline【发布时间】:2017-12-1320:17:21【问题描述】:我有一个用于在大学课程中测试C程序的脚本。我使用VS2015的开发人员命令提示... 查看详情

在 OSX 上使用 GCC 编译后如何运行命令行程序?

】在OSX上使用GCC编译后如何运行命令行程序?【英文标题】:HowdoyourunacommandlineprogramaftercompilingwithGCConOSX?【发布时间】:2011-02-0501:48:43【问题描述】:Facebook的一些程序员谜题看起来很有趣,所以我正在尝试在我的Mac上设置C++代... 查看详情

如何在命令行中运行 ZAP 扫描?

】如何在命令行中运行ZAP扫描?【英文标题】:HowtorunZAPscanincommandline?【发布时间】:2021-08-0311:59:24【问题描述】:我正在使用OWASPZAP工具在asp.net核心网络应用程序上运行笔测试。当我使用OwaspZAP的windows应用程序运行测试时,测... 查看详情

如何在命令行中编译多个java源文件

】如何在命令行中编译多个java源文件【英文标题】:Howtocompilemultiplejavasourcefilesincommandline【发布时间】:2011-06-1514:33:11【问题描述】:我知道运行javacfile1.java会产生file1.class如果file1.java是唯一的源文件,那么我可以说javafile1来... 查看详情

如何在命令行中使用 Visual Studio 编译 x64 代码?

】如何在命令行中使用VisualStudio编译x64代码?【英文标题】:Howtocompilex64codewithVisualStudioincommandline?【发布时间】:2011-02-0215:18:32【问题描述】:我想使用Windows命令行编译一个简单的hello-world风格的程序。clfile_name.c很简单。现在... 查看详情

在 Maven 中,如何输出正在使用的类路径?

...看看它在创建war时使用的实际类路径。有没有办法在一个命令中做到这一点——而不必编译整个项目?一个想法是让Maven生成target/classpath.properti 查看详情

java在命令行中编译和运行java

...们把代码部署到Linux服务器上的时候,我们经常需要通过命令行编译和运行Java文件,网上关于这个的方法大多是通过javac-cpfilePath/jarName.jar  javaName.java这种方法。但是加入在f 查看详情

如何在 Windows 命令行中使用参数运行 Python 脚本

】如何在Windows命令行中使用参数运行Python脚本【英文标题】:HowdoIrunPythonscriptusingargumentsinwindowscommandline【发布时间】:2013-07-0619:52:54【问题描述】:这是我的pythonhello.py脚本:defhello(a,b):print"helloandthat\'syoursum:"sum=a+bprintsumimportsys... 查看详情

使用 Makefile 编译失败但在命令行中成功

】使用Makefile编译失败但在命令行中成功【英文标题】:compilationwithMakefilefailbutsuccessincommandline【发布时间】:2015-01-2216:58:10【问题描述】:我使用Makefile编译我的项目并成功编译,但是当我将新库(libbcm2835.a)添加到链接器(-lbcm2835... 查看详情