Maven 构建Java项目

news2024/11/16 12:03:19

Maven 使用原型 archetype 插件创建项目。要创建一个简单的 Java 应用,我们将使用 maven-archetype-quickstart 插件。

在下面的例子中,我们将在 C:\MVN 文件夹下创建一个基于 maven 的 java 应用项目。

命令格式如下:

mvn archetype:generate "-DgroupId=com.companyname.bank" "-DartifactId=consumerBanking" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DinteractiveMode=false"

参数说明:

  • -DgroupId: 组织名,公司网址的反写 + 项目名称
  • -DartifactId: 项目名-模块名
  • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用
  • -DinteractiveMode: 是否使用交互模式

生成的文件夹结构如下:

https://www.runoob.com/wp-content/uploads/2018/09/9-project-structure.jpg

各个文件夹说明:

文件夹结构

描述

consumerBanking

包含 src 文件夹和 pom.xml

src/main/java contains

java 代码文件在包结构下(com/companyName/bank)。

src/main/java test

测试代码文件在包结构下(com/companyName/bank)。

src/main/resources

包含了 图片 / 属性 文件(在上面的例子中,我们需要手动创建这个结构)。

C:\MVN\consumerBanking\src\main\java\com\companyname\bank 文件夹中,可以看到一个 App.java,代码如下:

App.java

package com.companyname.bank;


/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

打开 C:\MVN\consumerBanking\src\test\java\com\companyname\bank 文件夹,可以看到 Java 测试文件 AppTest.java。

AppTest.java

package com.companyname.bank;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }

}

接下来的开发过程中我们只需要按照上面表格中提到的结构放置好,其他的事情 Maven 帮我们将会搞定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1073741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

语音转文字,功能更强大的工具

这次是从一个微信公众号发现的,尝试了一下其中的方法1,果然强大好用。 方法1 使用 OpenAI 开源的语音转文字模型 Whisper,通过这个模型可以实现语音转文字,即使是离线也能使用。 因为开源的 Whisper 需要通过 python 和命令行来执…

redis中高并发问题

高并发问题 Redis 做缓存虽减轻了 DBMS 的压力,减小了 RT,但在高并发情况下也是可能会出现各 种问题的。 1 缓存穿透 当用户访问的数据既不在缓存也不在数据库中时,就会导致每个用户查询都会“穿透” 缓存“直抵”数据库。这种情况就称为缓…

JVM的内存模型

一、JVM的内存模型 1.1、目标 内存模型是用来描述JVM内部的内存结构和内存管理的模型。它定义了JVM在运行Java程序时所需要的各种内存区域,以及每个内存区域的作用和特点。 1.2、结构划分 1.2.1、栈 每个线程在执行Java方法时会创建一个栈帧(Stack …

排序算法——希尔排序

一、介绍: 希尔排序是一种可以减少插入排序中数据比较次数的排序算法,加速算法的进行,排序的原则是将数据区分为特定步长的小区块,然后以插入排序算法对小区块内部进行排序,经历过一轮排序则减少步长,直到所有数据都排…

9月客户文章盘点——累计IF 103.2

客户文章一览 凌恩生物以打造国内一流生物公司为目标,在科研测序领域深耕不辍,吸纳多名在生物信息高级技术人员的加盟,参与并完成多个高科技项目。现已在宏组学、基因组、表观遗传以及蛋白代谢等多组学及联合分析领域积累了深厚经验&#xf…

加密市场陷入钝感期!“等鱼咽气”不可行,定投才是明智之选!

现在整个币圈的市场环境,像极了“在菜市场等鱼咽气”。许多主流加密货币波动率持续下降,锁仓不动的长期筹码占比缓慢抬升,短期投资者反复追高割肉,市场陷入了一种上不去下不来的钝感中。 从筹码层面来看,可以发现比特币…

Redis-02单机数据库的实现

Redis-02单机数据库的实现 1、服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库; 在初始化服务器时&#xff0c…

易点易动固定资产管理系统: 帮助您应对2023年年终固定资产大盘点

作为一名企业的行政人员,我们都了解年终固定资产盘点对于企业来说至关重要。然而,面对众多资产、复杂的流程和繁琐的记录工作,往往会令人感到头疼不已。为了帮助您应对2023年的年终固定资产大盘点,我们推荐易点易动固定资产管理系…

Flink实现kafka到kafka、kafka到doris的精准一次消费

1 流程图 2 Flink来源表建模 --来源-城市topic CREATE TABLE NJ_QL_JC_SSJC_SOURCE ( record string ) WITH (connector = kafka,topic = QL_JC_SSJC,properties.bootstrap.servers = 172.*.*.*:9092,properties.group.id = QL_JC_SSJC_NJ_QL_JC_SSJC_SOURCE,scan.startup.mo…

SpringBoot集成WebSocket讲解

文章目录 1 WebSocket1.1 简介1.2 WebSocket作用和调用1.2.1 作用1.2.2 js端调用 1.3 Javax1.3.1 服务端1.3.1.1 服务端接收1.3.1.2 服务端集成1.3.1.3 ping和pong消息 1.3.2 客户端1.3.2.1 客户端接收1.3.2.2 客户端发送 1.4 WebMVC1.4.1 服务端1.1.4.1 服务端接收1.1.4.2 服务…

Amber中的信息传递——章节1.1-第一部分

了解 AmberTools 从何处开始,这主要是管理软件包中信息传递的问题,请参见图 1.1。首先需要了解模拟程序(sander、pmemd、mdgx 或 nab)需要哪些信息。 您需要知道这些信息从何而来,又是如何以这些程序所需的形式出现的。…

好看的水滴登录页面

css 如何绘制水滴 可以通过box-shadow 来显示阴影可以通过border-radius 改变水滴的形状当然如果像要使其更加灵活,可以使用animationkeyframes关键帧border-radius,让水滴动起来 是不是很简单 来吧展示效果 html代码,就只有一个div,然后使…

在宝塔面板环境下安装nps服务端

在宝塔面板环境下安装nps服务端 一、所需环境二、开始安装三、打开nps控制台四、更改默认账号密码和连接秘钥五、反向代理挂载SSL证书 一、所需环境 阿里云轻应用服务器(选择宝塔应用镜像)域名(最好也是阿里注册的域名)对应的ssl…

RT-Thread 中断管理(学习三)

中断与轮询 当驱动外设工作时,其编程模式到底采用中断模式触发还是轮训模式触发往往是驱动开发人员首先需要考虑的问题,并且这个问题在实时操作系统与分时操作系统中差异非常大。 轮询模式本身采用顺序执行的方式:查询到相应的事件然后进行…

探索跑腿配送App的未来:技术和创新的前沿

跑腿配送App正经历着快速的技术演进,为提供更智能、高效和个性化的服务而不断创新。本文将探讨其中一个可能的创新方向:使用机器学习和实时数据分析来改进配送路线,提高效率,并为用户提供更好的体验。 技术背景 要实现这个创新…

Flink之Watermark源码解析

1. WaterMark源码分析 在Flink官网中介绍watermark和数据是异步处理的,通过分析源码得知这个说法不够准确或者说不够详细,这个异步处理要分为两种情况: watermark源头watermark下游 这两种情况的处理方式并不相同,在watermark的源头确实是异步处理的,但是在下游只是做的判断,这…

【Monorepo实战】pnpm+turbo+vitepress构建公共组件库文档系统

Monorepo架构可以把多个独立的系统放到一起联调,本文记录基于pnpm > workspace功能,如何构建将vitepress和组件库进行联调,并且使用turbo进行任务顺序编排。 技术栈清单: pnpm 、vitepress 、turbo 一、需求分析 1、最终目标…

Maven 自动化构建

自动化构建定义了这样一种场景: 在一个项目成功构建完成后,其相关的依赖工程即开始构建,这样可以保证其依赖项目的稳定。 比如一个团队正在开发一个项目 bus-core-api, 并且有其他两个项目 app-web-ui 和 app-desktop-ui 依赖于这个项目。 …

面试算法22:链表中环的入口节点(1)

题目 如果一个链表中包含环,那么应该如何找出环的入口节点?从链表的头节点开始顺着next指针方向进入环的第1个节点为环的入口节点。 例如,在如图4.3所示的链表中,环的入口节点是节点3。 分析 第1步:确认是否包含环…

产线运作中如何实现sop无纸化的作业?

在车间产线的运作中,及时准确地获取作业指导书是至关重要的。然而,传统的纸质作业指导书往往需要花费大量时间和精力来查找和更新。而有了SOP电子作业指导书系统,车间工人们只需要通过电子设备登录系统,就可以轻松地找到所需的作业…