配置单个程序入口

Exec Maven Plugin 插件允许你在 Maven 生命周期中的某个阶段直接运行 Java 类。

在你的 pom.xml 文件中添加如下配置:

<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<!-- 请使用最新或适合你项目的版本 -->
<version>3.2.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 在这里配置你的主类 -->
<mainClass>com.example.Main</mainClass>
<!-- 在这里填写需要传递给 main 方法的命令行参数 -->
<arguments>
<argument>arg1</argument>
<argument>arg2</argument>
...
</arguments>
</configuration>
</plugin>
...
</plugins>
...
</build>
...
</project>

在这个例子中,<mainClass> 标签包含了你的主类的全路径,比如 com.example.Main。这假设 com.example.Main 中包含一个标准的 main 方法作为应用的入口。

一旦配置好,你可以使用以下命令运行你的应用:

mvn exec:java

Maven 会启动定义的主类。如果需要在 IDE 中运行程序,通常直接从 IDE 启动主类会比较方便。

如果你的项目是一个 web 应用程序,你可能会使用 tomcat7-maven-pluginjetty-maven-plugin 或者其他适合的 Servlet 容器插件来运行你的 web 应用。

配置多个程序入口

配置多个程序入口的方法类似配置单个程序入口,但是你需要为每个程序入口设置单独的 <execution> 执行块,每个执行块都有其对应的 <id><configuration>

<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<!-- 配置运行 com.example.A 类 -->
<execution>
<!-- 在这里指定一个唯一的 ID -->
<id>run-A</id>
<configuration>
<mainClass>com.example.A</mainClass>
<!-- 入口类 A 的参数 -->
<arguments>
<argument>arg1</argument>
<argument>arg2</argument>
...
</arguments>
</configuration>
<goals>
<goal>java</goal>
</goals>
</execution> <!-- 配置运行 com.example.B 类 -->
<execution>
<!-- 入口类 B 的 ID -->
<id>run-B</id>
<configuration>
<mainClass>com.example.B</mainClass>
<!-- 入口类 B 的参数 -->
<arguments>
<argument>arg3</argument>
...
</arguments>
</configuration>
<goals>
<goal>java</goal>
</goals>
</execution>
...
</executions>
</plugin>
...
</plugins>
...
</build>
...
</project>

在这个示例中,在 <executions> 中有了两个不同的 <execution> 块,每个执行块都有一个 <id><configuration>。通过这个配置,你可以执行两个不同的主类:

  • 要运行 com.example.A 类,请执行:
mvn exec:java@run-A
  • 要运行 com.example.B 类,请执行:
mvn exec:java@run-B

这里,@run-A@run-B 是定义在 <execution> 块的 <id> 标签中的标识符。这些标识符用于通过 Maven 命令行区分和执行对应的主类。如果你没有指定 <id>,Maven 默认使用 default-cli,所以当你有多个执行块时指定 <id> 是非常重要的。

Maven 配置程序入口的更多相关文章

  1. Maven配置详见

    CSDN 2016博客之星评选结果公布    [系列直播]零基础学习微信小程序!      "我的2016"主题征文活动   博客的神秘功能 maven 配置详解 标签: mave ...

  2. 部署Maven核心程序

    1.安装Maven核心程序 1.1 检查JAVA_HOME环境变量 2. 解压Maven核心程序压缩包,放在一个非中文无空格的路径下 3. 配置Maven相关的环境变量 3.1 MAVEN_HOME ...

  3. Android程序入口以及项目文件夹的含义和使用总结—入门

    新接触一门程序或者开发框架,我一般都要先弄清楚程序的入口在哪里,程序怎么运行的:建立一个项目后,各个文件夹有什么作用以及如何使用等等.理清楚这些东西对以后开发是很有好处的,古话说得好,工欲善其事,必先 ...

  4. Spark之路 --- Scala IDE Maven配置(使用开源中国的Maven库)和使用

    为什么要使用Maven 摘自百度百科的介绍 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.Maven 除了以程序构建能力为特色之外,还提 ...

  5. maven入门程序(3)

    欢迎转载交流:http://www.cnblogs.com/shizhongtao/p/3472864.html 这里我将展示如何用maven快速创建一个基于spring的web框架.创建步骤和上一篇 ...

  6. Maven(五)之Maven配置阿里云镜像飞快下jar包

    用过Maven的人都知道Maven对于依赖的管理让我们程序员从此远离了自己去在项目中把需要的jar包导入到项目中,但是因为中央仓库是在国外的,所以在我们从中央仓库下载依赖的时候, 我们发现下载速度真的 ...

  7. maven配置详解

    什么是pom?     pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的 ...

  8. 亲测实验,stm32待机模式和停机模式唤醒程序的区别,以及唤醒后程序入口

    这两天研究了STM32的低功耗知识,低功耗里主要研究的是STM32的待机模式和停机模式.让单片机进入的待机模式和停机模式比较容易,实验中通过设置中断口PA1来响应待机和停机模式. void EXTI1 ...

  9. 小程序入口构造工具&二维码测试工具

    小程序入口构造工具&二维码测试工具 本文将介绍我们小程序中隐藏的两个工具页面.原理虽不复杂,收益却实实在在,或许也能给诸君带来启发. 入口构造工具 痛点 PM&运营 投放链接 PM&a ...

  10. SpringCloud系列三:SpringSecurity 安全访问(配置安全验证、服务消费端处理、无状态 Session 配置、定义公共安全配置程序类)

    1.概念:SpringSecurity 安全访问 2.具体内容 所有的 Rest 服务最终都是暴露在公网上的,也就是说如果你的 Rest 服务属于一些你自己公司的私人业务,这样的结果会直接 导致你信息 ...

随机推荐

  1. (要做的事情)利用MNIST识别自己创建的手写数据

    (要做的事情)利用MNIST识别自己创建的手写数据 看懂MNIST 进阶教程,了解CNN

  2. opc ua设备数据 转MQTT项目案例

    目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集OPC UA的数据 2 5 用MQTT协议转发数据 4 6 配置参数说明 4 7 上报内容配置 5 ...

  3. Docker自定义网段实现容器间的互访【开发环境中】

    我们都知道docker容器之间是互相隔离的,不能互相访问,但如果有些依赖关系的服务要怎么办呢,所以自定义网段实现容器间的互访. Docker 安装好之后默认会创建三个虚拟网卡,可以使用 docker ...

  4. openStack核心组件的工作流程

    目录 openStack核心组件的工作流程 1. Keystone 1.1 User 1.2 Credentials 1.3 Authentication 1.4 Token 1.5 Project ...

  5. [oeasy]python019_ 如何在github仓库中进入目录_找到程序代码_找到代码

    继续运行 回忆上次内容 上上次 真写了万行代码 这 万行代码 都是写在明面上的 这次 使用git命令 下载了 github上面的仓库       添加图片注释,不超过 140 字(可选)   下载仓库 ...

  6. 使用threejs实现3D卡片菜单

    成品效果: 用到的技术:vue2.three.js.gsap.js template <template> <div id="box" class="c ...

  7. Ubuntu16.04设置静态IP或动态ip(DHCP)

    Ubuntu16.04设置静态IP或动态ip(DHCP) 设置静态IP 1,vim编辑/etc/network/interfaces 网络配置文件 sudo vim /etc/network/inte ...

  8. Known框架实战演练——进销存财务管理

    本文介绍如何实现进销存管理系统的财务对账模块,财务对账模块包括供应商对账和客户对账2个菜单页面.供应商和客户对账字段相同,因此可共用一个页面组件类. 项目代码:JxcLite 开源地址: https: ...

  9. java 使用openoffice将doc、docx、ppt、pptx等转换pdf格式文件

    软件的安装与配置 链接: 官网 / C**N / 毒盘:提取码k47b 有能力的大佬可以选择c**n下载支持支持,官网下载可能有点慢 Windows下安装配置 下载安装包,安装到硬盘(这个就不截图了吧 ...

  10. 1、Springboot2简介

    在学习 SpringBoot 之前,建议先具备 SpringMVC(控制层).Spring(业务层)和 Mybatis(持久层)的相关知识 1.1.概述 1.1.1.Spring的缺点 Spring ...