【Maven】P2 创建 Maven java/web 工程

news2024/12/22 19:28:20

Maven项目

  • Maven 项目构建命令
  • 使用 Maven插件 创建 java/web 工程
    • 创建工程格式
    • 创建 java 工程
    • 创建 web 工程
  • IDEA 中创建 Maven Java 工程
  • IDEA 中创建 Maven web 工程

Maven 项目构建命令

mvn compile			# 编译
mvn clean 			# 清理
mvn test			# 测试
mvn package			# 打包
mvn install 		# 安装到本地仓库

使用 Maven插件 创建 java/web 工程

创建工程格式

mvn archetype:generate
	-DgroupId={project-packaging}
	-DartifactId={project-name}
	-DarchetypeArtifactId=maven-archetype-quickstart
	-DinteractiveMode=false

创建 java 工程

mvn archetype:generate
	-DgroupId=com.xuhongduo
	-DartifactId=java-project
	-DarchetypeArtifactId=maven-archetype-quickstart
	-Dversion=0.0.1-snapshot
	-DinteractiveMode=false

注意!!!!要复制到cmd中执行请不要使用上述带换行的模块,下模块内容完全相同不换行

mvn archetype:generate -DgroupId=com.xuhongduo -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false

创建 web 工程

mvn archetype:generate
	-DgroupId=com.xuhongduo
	-DartifactId=web-project
	-DarchetypeArtifactId=maven-archetype-webapp
	-Dversion=0.0.1-snapshot
	-DinteractiveMode=false

注意!!!!要复制到cmd中执行请不要使用上述带换行的模块,下模块内容完全相同不换行

mvn archetype:generate -DgroupId=com.xuhongduo -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp  -Dversion=0.0.1-snapshot -DinteractiveMode=false

在空目录下(当前目录不包含 pom.xml 即可)用终端打开,将代码复制

在这里插入图片描述

创建成功!


Maven工程目录结构,java与web的区别
在这里插入图片描述
小tip:cmd中清屏命令为 cls


IDEA 中创建 Maven Java 工程

首先创建空项目

在这里插入图片描述

然后到右上角的项目结构里配置SDK

在这里插入图片描述

再然后如果你更改了镜像,那么需要将路径更改

在这里插入图片描述

然后再来到右上角的项目结构下,module 中按 + 新建模块

在这里插入图片描述

然后新建使得符合 maven 架构,即 src 下有 main 和 test 文件夹,main 下有 java 和 resources 文件夹,test 下有 java 和 resources 文件夹。

在这里插入图片描述

然后查看你的项目,可能根据 IDEA 版本不同,需要做的略有不同,但是大同小异,最终目标都是为了实现有如下结构

在这里插入图片描述

检查 main 文件夹以及 test 文件夹,若不包含 Demo 文件(我这里是App文件)其实就是一个测试文件,那么添加,将代码输入进去:

main 中的 Demo.java

package com.xuhongduo;
public class Demo {
	public String say(String name){
		System.out.println("hello "+name);
		return "hello "+name;
	}
}

test 中的 DemoTest.java

package com.xuhongduo;
import org.junit.Assert
public class DemoTest {
	public void testSay(){
		Demo d = new Demo();
		String ret = d.say(name:"xuhongduo");
		Assert.assertEquals("hello xuhongduo",ret);
	}
}

然后到右侧的 Maven Project 模块中,开始双击依此执行生命周期
clean -> compile -> test

在这里插入图片描述

然后…我就遇到了 compile 失败的问题,解决它!

在这里插入图片描述
在这里插入图片描述

按照网上的进行操作,然后我发现我 pom.xml 竟然里面没有写java版本???
啥???

pom.xml 中新添加如下部分然后再次进行 compile 测试

在这里插入图片描述

好像 Assert 的 junit 因为版本问题引入局部变量不一样…再次更改 DemoTest 中内容…在疯狂的想要不要换个版本的 junit…

不过,欸嘿,complie 成功

在这里插入图片描述

感觉自己就是一个小白玩跳伞,疯狂试探…继续

test,成功!开心的很

在这里插入图片描述

不过…注意版本不一样可能有的版本需要 @Test 才可以…
也就是将 DemoTest.java 中内容更改为如下

一定要注意,要是你的输出,test run 是 1,并且打印了 hello xxx,那么不需要改!!!

package com.xuhongduo;
import org.junit.Assert;
import org.junit.Test;

public class AppTest {
	@Test
    public void testSay(){
        App d = new App();
        String ret = d.say("xuhongduo");
        Assert Assert = null;
        Assert.assertEquals("hello xuhongduo",ret);
    }
}

再次声明,上述代码部分 junit 版本需要,因为我的不需要也 test 输出了!!!


IDEA 中创建 Maven web 工程

与java工程唯一不同,就是在选择 archetype 这里选择 webapp

在这里插入图片描述
在这里插入图片描述

web 工程启动需要 tomcat 插件

在这里插入图片描述

点击

在这里插入图片描述

选择版本2.1 然后复制

在这里插入图片描述

然后在 pom.xml 里的构建 build 部分添加插件 plugins

<plugins>
	<plugin>
		<groupId>org.apache.tomcat.maven</groupId>
		<artifactId>tomcat7-maven-plugin</artifactId>
		<version>2.1</version>
	</plugin>
</plugins>

然后重新加载 maven

在这里插入图片描述

重新加载的目的是下载刚加入的插件 tomcat

然后再到右侧找到 maven,找到刚下载的 tomcat 插件,双击 tomcat7:run,运行后会启动一个服务器,这个服务器就是可以运行的,并且给出了运行地址:比如我的就是 http://localhost:8080/web01

在这里插入图片描述

点击服务器地址,打开网页,成功!!!

在这里插入图片描述

当然,也可以自行设定端口:

<configuration>
	<port>80</port>
	<path>/</path>
</configuration>

在这里插入图片描述

停止服务器,再次运行

在这里插入图片描述
点击访问。。

更多优化:不想在每次执行都要在右侧找到 tomcat7:run,我们进行 Run/Debug Configuration

在这里插入图片描述

对应工程,选择命令

在这里插入图片描述

由此,无需右侧边栏,可快速run

在这里插入图片描述


点个赞吧老板~


pom.xml 中 行解析:

<!--  指定pom的版本模型-->
<modelVersion>4.0.0</modelVersion>

<!--  组织id,坐标-->
<groupId>com.xuhongduo</groupId>

<!--  项目id,项目名称-->
<artifactId>web01</artifactId>

<!--  打包方式,web打包为war,java打包为jar-->
<packaging>war</packaging>

<!--  版本号,SNAPSHOT为开发版,RELEASE为完成版-->
<version>1.0-SNAPSHOT</version>

<name>web01 Maven Webapp</name>
<url>http://maven.apache.org</url>

<!--  设置当前工程所有依赖-->
<dependencies>
  <!--  一个具体的依赖-->
  <dependency>

收个藏!以后准能用到!

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

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

相关文章

0626-0631韩顺平Java Buffered字节处理流 学习笔记

如何去构建字节流package com.hspedu.outputstream_;import java.io.*;/*** author abner* version 1.0*/ public class BufferedCopy02 {public static void main(String[] args) {String srcFilePath "D:\\Users\\Pictures\\Camera Roll\\Pierre-Auguste_Renoir,_Le_Mo…

java基本数据类型变量间的运算规则

基本数据类型变量间的运算规则。 运算规则包括&#xff1a; 这里提到可以做运算的基本数据类型有7种&#xff0c;不包含boolean类型 1.自动类型提升 2.强制类型转换 自动类型提升日规则&#xff1a;当容量小的变量与容量大的变量做运算时&#xff0c;结果自动转换为容量大的数…

mvn命令

在IDEA右侧Maven菜单中&#xff0c;有以下几种指令。 clean&#xff1a;清理&#xff0c;清除上一次构建生产的文件。执行该命令会删除项目地址下的target文件&#xff0c;但不会删除本地的maven已生成的文件。 validate&#xff1a;验证&#xff0c;验证项目是否正确且所有必…

「史上最全的 TCG 规范解读」TCG 规范架构概述(下)

可信计算组织&#xff08;Ttrusted Computing Group,TCG&#xff09;是一个非盈利的工业标准组织&#xff0c;它的宗旨是加强不同计算机平台上计算环境的安全性。TCG 于 2003 年春成立&#xff0c;并采纳了由可信计算平台联盟&#xff08;the Trusted Computing Platform Allia…

【Linux】P4 Linux 权限 chmod chown

Linux 权限认知权限信息chmod 修改权限chown 修改用户与用户组认知权限信息 序号1&#xff1a;文件、文件夹权限控制信息&#xff1b; 权限控制信息一共有十位 第 1 位&#xff1a; - 表示文件&#xff0c;d 表示文件夹&#xff0c;l 表示软链接 第 2~4 位&#xff1a; 所属用…

JDK19下载、安装与测试的完整图文教程

一、下载JDK 1、官网获取&#xff1a;https://www.oracle.com/ 1.1 点击“Products”&#xff1b; 1.2 选择“Java”&#xff1b; 1.3 选择“Download Java”&#xff1b; 1.4 选择“Java downloads”&#xff0c;这里以最新版&#xff08;JDK19&#xff09;为例&#xff…

Python基础—文件操作(二)

Python基础—文件操作(二) CSV格式文件 逗号分隔值&#xff0c;以纯文本形式存储表格数据 由任意数目的记录组成&#xff0c;记录间以换行符分隔 每条记录由字段组成&#xff0c;字段间用逗号或制表符分隔 每条记录都有同样的字段序列 如有列名&#xff0c;位于文件第一行 每条…

【编程实践】代码之中有创意:“我一直认为工程师世界上最具创造性的工作之一”

代码之中有创意 “我一直认为工程师世界上最具创造性的工作之一”。 文章目录 代码之中有创意一、代码可以赋予创造力1.1 代码的创造力1.2 如何发挥代码的创造力二、有创意的代码可以提高工作效率2.1 代码创意可以提高工作效率2.2 如何利用代码创意来提高工作效率三、代码创意可…

【壹】嵌入式系统硬件基础

随手拍拍&#x1f481;‍♂️&#x1f4f7; 日期: 2023.2.28 地点: 杭州 介绍: 日子像旋转毒马&#x1f40e;&#xff0c;在脑海里转不停&#x1f92f; &#x1f332;&#x1f332;&#x1f332;&#x1f332;&#x1f332; 往期回顾 &#x1f332;&#x1f332;&#x1f332…

【Java 类】001-访问修饰符、命名规范

【Java 类】001-访问修饰符、命名规范 文章目录【Java 类】001-访问修饰符、命名规范一、访问修饰符概述1、是什么2、作用作用问题3、访问修饰符有哪些4、作用对象二、访问修饰符使用演示1、类访问修饰符演示第一步&#xff1a;创建 Dog 类&#xff1a;public第二步&#xff1a…

画图说透 ZooKeeper如何保证数据一致性:选举和ZAB协议

1、zookeeper是什么&#xff1f; zookeeper能被各个牛逼的中间件项目中所依赖&#xff0c;已经说明了他的地位。一出手就是稳定的杀招。zookeeper是什么&#xff1f;官网中所说&#xff0c;zookeeper致力于开发和维护成为一个高度可靠的分布式协调器。 开局一张图&#xff0c;…

STM32MP157-Linux音频应用编程-简易语音助手

文章目录前言STM32MP157简易语音助手alsa-lib简介&#xff1a;移植alsa-lib库&#xff1a;libcurl库简介&#xff1a;移植libcurl库&#xff1a;API调用修改asrmain.c文件修改token.c文件录音文件IO打开音频文件硬件控制sysfs文件系统数据解析和控制多线程主循环实现效果及注意…

Hive与HBase的区别及应用场景

当数据量达到一定量级的时候&#xff0c;存储和统计计算查询都会遇到问题&#xff0c;今天了解一下Hive和Hbase的区别和应用场景。 一、定义 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供简单的sql查询功能&am…

Umi使用百度地图服务

需求描述 需要在前端页面中使用地图定位功能&#xff0c;所以在前端umi项目中使用百度地图服务&#xff0c;由于umi项目默认没有入口的html文件&#xff0c;所以无法通过常规的在head中加入外链js的方式使用 百度ak zyqeLCzvQPCCNImRu9yRGOqWlEUicxxGreact使用百度api 链接:…

【Mybatis系列】Mybatis常见的分页方法以及源码理解

Mybatis-Plus的selectPage 引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency>添加分页插件 Configuration public class My…

ifm3dlib+Python实现摄像头点云数据保存

0. 起因&需求 现有一款摄像头 O3D303&#xff0c;通过网线将其连接到局域网后&#xff0c;同一局域网的电脑可以通过可视化软件查看到各项参数以及对应的点云图。 但是如果想定制化具体的需求&#xff0c;用官方的可视化软件无疑是不可取的。这时候就需要用到SDK&#xf…

【Java】JVM

一、介绍 1.什么是JVM? JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的机器&#xff0c;是通过在实际的计算机上仿真模拟各种功能实现的。JVM包含一套字节码指令集&#xff0c;一组寄存器&#xff0c;一个栈&#xff0c;一个垃圾回收堆和一个存储方法域。JVM屏…

面向对象设计模式:创建型模式之抽象工厂模式

一、抽象工厂模式&#xff0c;Abstract Factory Pattern 1.1 Definition 定义 抽象工厂模式是围绕一个抽象工厂&#xff08;其他工厂的工厂&#xff09;创建其他工厂的创建型模式。 1.2 Intent 意图 Provide an interface for creating families of related or dependent o…

【AutoSAR】【MCAL】Dio

一、结构 二、功能介绍 DIO&#xff08;数字输入输出&#xff09;驱动模块主要是对端口&#xff08;Port&#xff09;&#xff0c;通道&#xff08;Channel&#xff09;和通道组&#xff08;ChannelGroup&#xff09;进行读写操作。 通道&#xff08;Channel&#xff09;&…

Tomcat服务器配置以及问题解决方案

文章目录01 Tomcat简介02 Tomcat的安装03 Tomcat的使用启动Tomcat服务器 &#xff08;解决一闪而过&#xff09;测试 Tomcat 是否启动Tomcat 服务器的关闭04 Tomcat的配置配置端口控制台配置&#xff08;乱码解决&#xff09;部署工程到Tomcat中01 Tomcat简介 Tomcat是一款开源…