You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在含两个Main类的Spring Boot Maven项目中从终端运行指定类

运行Spring Boot项目中手动指定的Main类

Got it, let's break down how to run your Process.java class manually from the terminal. Since your project is Maven-based, you've got a couple of solid, reliable options here:

方法一:使用Maven Exec插件(推荐)

这是最省心的方式,Maven会自动帮你处理所有依赖的类路径,不用手动配置:

  1. 先切换到项目根目录(pom.xml所在的位置):
    cd ~/projects/coolproject
    
  2. 执行以下命令,指定你要运行的类的全限定名(包名+类名):
    mvn exec:java -Dexec.mainClass="com.company.Process"
    
    • 如果你的Process类需要接收命令行参数,可以追加参数配置:
      mvn exec:java -Dexec.mainClass="com.company.Process" -Dexec.args="arg1 arg2"
      

方法二:直接使用Java命令(手动管理类路径)

如果你不想依赖Maven插件,可以直接编译后用java命令运行,但需要自己处理类路径:

  1. 先编译整个项目,生成class文件:
    cd ~/projects/coolproject
    mvn compile
    
    编译后的class文件会存放在target/classes目录下。
  2. 让Maven帮你生成项目所有依赖的类路径列表:
    mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt
    
    这会在项目根目录生成一个classpath.txt文件,包含所有依赖jar包的路径。
  3. 执行java命令,把编译后的类目录和依赖类路径都加入classpath:
    • Linux/macOS:
      java -cp "target/classes:$(cat classpath.txt)" com.company.Process
      
    • Windows(注意路径分隔符是分号;):
      java -cp "target/classes;$(type classpath.txt)" com.company.Process
      

小提示

如果你的Process类不需要加载Spring Boot的应用上下文,完全可以独立运行,不会和你在pom.xml中指定的<start-class>冲突。如果它确实需要Spring环境,你可以在运行时额外指定spring.main.application-class参数,但根据你的描述,应该不需要这一步~

内容的提问来源于stack exchange,提问作者Héctor Valls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:38:21