如何在 IDE 之外运行/执行 java 代码(maven 项目)

     2023-04-13     277

关键词:

【中文标题】如何在 IDE 之外运行/执行 java 代码(maven 项目)【英文标题】:how to run/execute a java code(maven project) outside the IDE 【发布时间】:2021-09-08 06:36:44 【问题描述】:

我是编程新手,有一个带有 java 代码的 maven 项目可以进行某些测试,它通过 Jenkins 管道定期运行,它在环境(Linux 机器)上运行测试。 现在我正在努力并且不知道从哪里开始是如何手动测试此代码,知道它具有不同的 Mains(即 Main1 , Main2 , Main3 )并且我想运行某个 Main 而不是全部,例如只有 Main1 测试具体的东西。 ps:我在Intellij中有代码,但是我想在intellij之外运行,我想在我正在测试的环境(linux机器)上运行。

【问题讨论】:

【参考方案1】:

首先你必须在你的项目目录中使用这个命令build maven 项目:

mvn package

成功构建后,您将看到在目标文件夹中创建了一个与您的包名称和版本相同的.jar 文件。

最后你必须运行项目。

要运行项目,请使用以下命令:

java -cp target/jarfileName.jar path_of_the_project_startup

完成。

【讨论】:

太好了,如果我想调试代码?例如,现在我收到一个错误,但我正在运行的代码是在一台 linux 机器上而不是在 intellij 上,所以这可能吗?或者我应该每次进行更改然后构建然后在 linux 机器上运行 jar 文件?这将是一项艰苦的工作,而且不方便。【参考方案2】:

首先,您需要构建您的 Maven 项目。导航到项目文件夹(您必须在那里有项目根 pom.xml)打开一个终端并构建它:

mvn clean package

根据您的项目结构,此命令的成功运行将导致您的模块在不同级别的多个目标文件夹以及其中的 .jar 文件。导航到您的入口点(主)所在的模块的目标文件夹并检查 jar 文件名。为简单起见,我们将其称为 jarname.jar。

如果您在同一个 jarname.jar 中有多个入口点,您可以像这样运行它们:

java -cp jarname.jar Main1
java -cp jarname.jar Main2
java -cp jarname.jar Main3

如果您想从终端运行并仍然从 IntelliJ 进行调试,请使用以下命令运行应用程序:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

然后在 IntelliJ 中的同一端口 (5005) 上创建一个“远程 JVM 调试”配置,添加一些断点和“调试”。

作为替代方案,您可以从 IntelliJ 创建 Run Config 'Java Scratch' 来运行/调试您的应用程序。

【讨论】:

所以终端上的最终命令将如下所示:java -cp jarname.jar Main1 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 ?并在 Intellij 上创建 Remote JVM Debug 并设置端口 5005? 是的。如果您需要调试应用程序的一些初始化代码,您可以使用 suspend=y(虚拟机将在有机会加载主类之前被挂起,并且附加的调试器将恢复 VM 的执行)。跨度>

QWebChannel:在 QtCreator 之外运行时构造崩溃

】QWebChannel:在QtCreator之外运行时构造崩溃【英文标题】:QWebChannel:crashonconstructionwhenrunningoutsideofQtCreator【发布时间】:2020-02-1909:39:52【问题描述】:当我尝试在QtCreator外部运行我的程序时,当调用newQWebChannel(this)时,代码会崩... 查看详情

如何将 java 源代码保存在 xml 文件中,并在 IDE 中编辑/编译它?

】如何将java源代码保存在xml文件中,并在IDE中编辑/编译它?【英文标题】:Howtosavejavasourcecodeinanxmlfile,andedit/compileitinanIDE?【发布时间】:2012-10-1512:46:38【问题描述】:我们有一个java应用程序,用户可以在其中编写/执行他们自... 查看详情

在 Eclipse IDE 之外启动运行配置

】在EclipseIDE之外启动运行配置【英文标题】:LaunchingrunconfigurationoutsideEclipseIDE【发布时间】:2011-07-1508:27:29【问题描述】:我为我的EclipseRCP应用程序定义了一个运行配置,它保存到一个.launch文件中。有没有办法在EclipseIDE之外... 查看详情

如何在 Python 中检查代码的运行时间。 PyCharm 是我的 IDE [重复]

】如何在Python中检查代码的运行时间。PyCharm是我的IDE[重复]【英文标题】:HowtocheckruntimeofyourcodeinPython.PyCharmismyIDE[duplicate]【发布时间】:2017-02-0204:39:26【问题描述】:如何检查我的代码执行需要多长时间。python中有内置的方法... 查看详情

java示例代码_在依赖参数所在的线程之外执行方法

java示例代码_在依赖参数所在的线程之外执行方法 查看详情

停止组件在 IDE (BCB) 中执行代码

...讨论】:您的意思是编译器在编译时计算结果,以使程序运行得更快?这通常不是问题。:-)不,当 查看详情

java示例代码_知道我的代码运行在";调试";IDE中的模式

java示例代码_知道我的代码运行在";调试";IDE中的模式 查看详情

java运行原理

...行原理之前,我们先把视野放宽一点:一般的高级语言是如何工作的?我们在编辑器或者IDE里根据每种语言的语法规则敲入源代码,这些代码我们很容易理解。很显然,这些代码肯定是以二进制存储在我们的硬盘当中,当我们再... 查看详情

buildtool

...中使用命令一个个编译执行文件,我们只需要在IDE中点击运行按钮,IDE就会帮助我们执行构建项目的全过程,但是使用IDE构建有一个很严重的缺陷就是迁移成本问题,有可能两个团队使用的IDE不同,导致相互项目交接时成本极高... 查看详情

无法在 Visual Studio 2017 之外运行 UWP 发布可执行文件

】无法在VisualStudio2017之外运行UWP发布可执行文件【英文标题】:Can\'trunUWPreleaseexecutableoutsideofVisualStudio2017【发布时间】:2018-09-1820:14:26【问题描述】:我在Windows10上使用带有官方UWP示例代码的VisualStudio2017。有一个名为basicinput的... 查看详情

如何在不安装 IDE 的情况下编译和运行此 Delphi 代码?

】如何在不安装IDE的情况下编译和运行此Delphi代码?【英文标题】:HowtocompileandrunthisDelphicodewithoutinstallinganIDE?【发布时间】:2009-12-3116:27:09【问题描述】:据说要生成一个winform:varF:TForm;L:TLabel;beginF:=TForm.Create(Application);L:=TLabel.... 查看详情

在 MATLAB 之外运行 MATLAB 函数时,MatlabControl 中出现异常

】在MATLAB之外运行MATLAB函数时,MatlabControl中出现异常【英文标题】:ExceptioninMatlabControlwhenrunningMATLABfunctionoutsideMATLAB【发布时间】:2012-06-2910:24:57【问题描述】:我需要帮助才能通过MatlabControl在Java和MATLAB之间建立连接。首先我... 查看详情

如何在 Postgres 中异步运行代码块(如作业)?

】如何在Postgres中异步运行代码块(如作业)?【英文标题】:HowtorunblockofcodeinPostgresasynchronously(likeajob)?【发布时间】:2021-07-0115:28:55【问题描述】:我们可以在当前会话之外执行一段代码吗?换句话说,将执行委托给另一个工... 查看详情

如何从 IDE 运行/调试流式应用程序

】如何从IDE运行/调试流式应用程序【英文标题】:Howtorun/debugastreamlitapplicationfromanIDE【发布时间】:2020-05-2701:30:46【问题描述】:我真的很喜欢streamlit作为研究环境。将类似笔记本/仪表板的输出混合在一起,我可以使用纯代码... 查看详情

java示例代码_Spring:如何在映射之外声明名称/值对

java示例代码_Spring:如何在映射之外声明名称/值对 查看详情

java示例代码_在java中,如何访问if语句之外的变量

java示例代码_在java中,如何访问if语句之外的变量 查看详情

如何用maven将java8写的代码编译为java6平台的

...候就需要用到本文中将要介绍的相关技术。首先介绍一下如何动态编译Java源文件。  动态编译Java源文件  在一般情况下,开发人员都是在程序运行之前就编写完成了全部的Java源代码并且成功编译。对有些应用来说,Java源... 查看详情

如何在我的 for 循环之外执行代码(需要等到循环完成从 Firebase 数据库中检索数据)?

】如何在我的for循环之外执行代码(需要等到循环完成从Firebase数据库中检索数据)?【英文标题】:HowcanIexecutecodeoutsideofmyforloop(whichneedstowaituntiltheloophasfinishedretrievingdatafromFirebaseDatabase)?【发布时间】:2020-09-1623:10:45【问题描述... 查看详情