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

如何在Jenkins任务中运行Maven Java项目的main方法

问题解答

现有配置评估

当前配置完全不足以运行目标main方法,还存在逻辑冗余问题:

  • 你先执行mvn verify再执行mvn clean deploy,clean命令会直接清空verify阶段生成的所有构建产物,前一条命令完全无效
  • mvn verify和mvn deploy属于Maven标准生命周期命令,默认只会执行构建、测试、部署相关逻辑,不会主动触发你项目里的main方法运行
  • 测试目录不存在的提示,是因为Maven默认生命周期的test阶段会自动扫描测试资源目录,你没有测试相关内容就会触发该提示

必要配置调整

第一步:跳过测试环节

所有Maven命令后加-Dmaven.test.skip=true参数,即可跳过所有测试相关步骤,不会再出现测试资源目录不存在的提示。

第二步:配置main方法执行逻辑,二选一即可

方案1:使用exec-maven-plugin直接运行

  1. 项目pom.xml中添加exec插件配置,替换为你自己的main类全限定名:
<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>3.1.0</version>
      <configuration>
        <mainClass>com.yourpackage.YourMainClass</mainClass>
      </configuration>
    </plugin>
  </plugins>
</build>
  1. 修改Jenkinsfile的Build阶段配置:
stage('Build') {
  steps {
    // 清理构建、跳过测试、执行main方法
    sh 'mvn clean compile exec:java -Dmaven.test.skip=true'
    // 按需执行部署
    sh 'mvn deploy -Dmaven.test.skip=true'
  }
}

方案2:打包为可执行jar后运行

  1. 项目pom.xml中添加打包插件配置,替换为你自己的main类全限定名:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>3.6.0</version>
      <configuration>
        <archive>
          <manifest>
            <mainClass>com.yourpackage.YourMainClass</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
      <executions>
        <execution>
          <id>make-assembly</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
  1. 修改Jenkinsfile的Build阶段配置,替换为你实际生成的jar文件名:
stage('Build') {
  steps {
    // 清理构建、跳过测试、打包、部署
    sh 'mvn clean package deploy -Dmaven.test.skip=true'
    // 运行打包好的可执行jar
    sh 'java -jar target/你的项目名-jar-with-dependencies.jar'
  }
}

内容的提问来源于stack exchange,提问作者Orly Orly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:15:02