当前位置: 首页 > news >正文

【Maven】项目创建

3. Maven的应用

本章主要内容:

  • 使用 Maven 创建 JavaSE 项目
  • 使用 Maven 创建 JavaWeb 项目,在本地部署 Tomcat 测试
  • 导入 Maven 项目

3.1 基于Maven开发JavaSE的项目

3.1.1 流程

1、File—>new—>Project—>Empty Project

Location:D:\course\10-Maven\code

Name:mavenall

—>Create

2、ctrl + alt + shift + s:打开项目结构窗口

Project:设置 JDK 版本为 1.8
Modules: —> New Module

Build system:Maven

3、Advanced Settings

GroupId:cn.myphoenix

ArtifactId:maven_001_javase

—>Create

4、观察 Sources 和 Dependcies 选项的 JDK 版本都是 1.8

—> ok

5、补齐目录

在 test 目录上右键 —> new Directory—> resouces

6、修改 pom.xml 文件

添加单元测试的依赖:

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency></dependencies>

3.1.2 测试

在 src/main/java/cn.myphoenix 目录下创建 MathCalculate 类:

public class MathCalculate {// 加法计算public int sum(int a, int b) {return a + b;}// 乘法计算public int mul(int a, int b) {return a * b;}}

在 src/test/java 目录下创建测试类,在测试类中编写测试方法,用于测试类 MathCalculate 中定义的方法。测试方法的规范

  • 访问权限是 public
  • 方法没有返回值 void
  • 方法名称自定义,推荐以 test 开头
  • 方法没有参数
  • 使用 @Test 注解声明是测试方法
public class MathCalculateTest {@Testpublic void testSum() {MathCalculate mathCalculate = new MathCalculate();System.out.println(mathCalculate.sum(4, 5));}@Testpublic void testMul() {MathCalculate mathCalculate = new MathCalculate();System.out.println(mathCalculate.mul(4, 5));}
}

3.2 基于Maven开发JavaWeb的项目

1、删除 maven_01_javaSE.iml 文件(如果此文件位于项目目录下,则必须删除,如果在本模块目录下,就不需要删除)
2、ctrl+alt+shift+s:打开结构窗口

  1. Modules 选项上—> + —>new Module
  2. Maven Archetype 选项
  3. Archetype:maven-archetype-webapp
  4. Advanced Settings 选项卡
    1. GroupId:cn.myphoenix
    2. ArtifactId:maven_02_javaweb
    3. Version:1.0.0

—>Create

3、观察 Sources 和 Dependcies 选项的 JDK 版本

—>ok

4、修改目录

  1. 补齐缺失的所有目录
  2. 添加 package:cn.myphoenix.controller
  3. 修改 pom.xml 文件
    1. 删除远程访问的名称

    2. <name>maven_002_javaweb Maven Webapp</name>
      <url>http://maven.apache.org</url>
      
    3. 添加依赖

    4. <!--添加Servlet的依赖-->
      <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version>
      </dependency>
      
    5. 删除项目构建名称

    6. <build><finalName>maven_002_javaweb</finalName>
      </build>
      

5、修改 web.xml 文件

  1. ctrl+alt+shift+s:打开结构窗口
  2. 点 web —> - —>yes —> Apply —>web.xml —>ok —>ok

6、修改 jsp 页面

  • 删除 index.jsp 页面
  • 在 webapp 目录下新建 index.jsp 和 main.jsp
  • 开发
    index.jsp 页面

7、开发 Servlet

@WebServlet("/demo")
public class DemoServlet extends HttpServlet {/*** 客户端 :  <a href="/demo">访问服器</a>*/@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("服务器被访问到了..............");req.getRequestDispatcher("/main.jsp").forward(req,resp);}
}
  1. 添加 Tomcat 测试运行。

相关文章:

【Maven】项目创建

3. Maven的应用 本章主要内容&#xff1a; 使用 Maven 创建 JavaSE 项目使用 Maven 创建 JavaWeb 项目&#xff0c;在本地部署 Tomcat 测试导入 Maven 项目 3.1 基于Maven开发JavaSE的项目 3.1.1 流程 1、File—>new—>Project—>Empty Project Location&#xff1…...

number的++和--运算 C#

number10 请计算num number --number - number number就是先对number运算&#xff0c;然后再给number赋值--number 先给number赋值&#xff0c;再拿来运算 using System;class Program {static void Main(string[] args){int number 10;int a, b, c, number1, number2;…...

浅谈网络 | 应用层之HTTPS协议

目录 对称加密非对称加密数字证书HTTPS 的工作模式重放与篡改 使用 HTTP 协议浏览新闻虽然问题不大&#xff0c;但在更敏感的场景中&#xff0c;例如支付或其他涉及隐私的数据传输&#xff0c;就会面临巨大的安全风险。如果仍然使用普通的 HTTP 协议&#xff0c;数据在网络传输…...

2、Three.js初步认识场景Scene、相机Camera、渲染器Renderer三要素

三要素之间关系&#xff1a; 有了虚拟场景Scene&#xff0c;相机录像Camera&#xff0c;在相机小屏幕上看到的Renderer Scene当前空间 Mesh人在场景 Camera相机录像 Renderer显示器上 首先先描述下Scene&#xff1a; 这个场景为三要素之一&#xff0c;一切需要展示的东西都需…...

Deepwave 声波正演和弹性波正演

Deepwave Deepwave 调用 scalar 方法实现声波和弹性波正演。 ######## 声波正演 ###################### import torch import numpy as np import deepwave from deepwave import scalardevice torch.device(cuda if torch.cuda.is_available()else cpu)## Set observation…...

【WRF-Urban】多层建筑能源参数化模型概述:原理

【WRF-Urban】多层建筑能源参数化模型概述&#xff1a;原理 1 概述1.1 原理1.2 使用步骤 2参考 多层建筑能源参数化&#xff08;Multi-layer Building Energy Parameterization, BEP&#xff09;模型是一种用于模拟城市环境中多层建筑群的能量交换和微气候影响的参数化模型。该…...

基于Qt实现的自定义树结构容器:设计与应用

在Qt框架中&#xff0c;尽管其提供了许多强大的容器类&#xff08;如 QList, QMap, QTreeWidget 等&#xff09;&#xff0c;但缺少一个通用的、灵活的树结构容器&#xff0c;直接支持多层级数据管理。为了满足这些需求&#xff0c;本文设计并实现了一个可复用的自定义树结构容…...

网络命令Linux

目录 一&#xff0c;Linux 二&#xff0c;CMD 一&#xff0c;Linux ping www.baidu.com 测试联网 -c 2 次数&#xff0c;ping几次 &#xff0c; -i 间隔 -W timeout 超时时间&#xff0c;等待响应的超时时间 ss -lntup |grep -w 22 netstat -lntup |grep -w 22 lsof -i:22 ls…...

简单的Activiti Modoler 流程在线编辑器

简单的Activiti Modoler 流程在线编辑器 1.需求 我们公司使用的流程是activiti5.22.0&#xff0c;版本有些老了&#xff0c;然后使用的编辑器都是eclipse的流程编辑器插件&#xff0c;每次编辑流程需要打开eclipse进行编辑&#xff0c;然后再导入到项目里面&#xff0c;不是特…...

【NodeJS】Express写接口的整体流程

前提条件 开发 Node.js&#xff0c;首先就必须要安装 Node.js。推荐使用 nvm&#xff0c;它可以随意切换 node 版本。下载 nvm&#xff0c;具体可以看本人另一篇文章&#xff1a;nvm的作用、下载、使用、以及Mac使用时遇到commond not found:nvm如何解决。 nvm官方&#xff1…...

Oracle 锁表的解决方法及避免锁表问题的最佳实践

背景介绍 在 Oracle 数据库中&#xff0c;锁表或锁超时相信大家都不陌生&#xff0c;是一个常见的问题&#xff0c;尤其是在执行 DML&#xff08;数据操作语言&#xff09;语句时。当一个会话对表或行进行锁定但未提交事务时&#xff0c;其他会话可能会因为等待锁资源而出现超…...

关于 vue+element 日期时间选择器 限制只能选当天以及30天之前的日期

业务需求&#xff0c;需要实现选择当天以及30天之前的日期&#xff0c;于是我想到的是利用picker-options去限制可选范围 代码如下 <el-date-pickerv-model"searchData.acceptTime"type"datetimerange"value-format"yyyy-MM-dd hh:mm:ss"styl…...

租辆酷车小程序开发(二)—— 接入微服务GRPC

vscode中golang的配置 设置依赖管理 go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct GO111MODULEauto 在$GOPATH/src 外面且根目录有go.mod 文件时&#xff0c;开启模块支持 GO111MODULEoff 无模块支持&#xff0c;go会从GOPATH 和 vendor 文件夹寻找包…...

如何在 Ubuntu 22.04 上安装 Metabase 数据可视化分析工具

简介 Metabase 提供了一个简单易用的界面&#xff0c;让你能够轻松地对数据进行探索和分析。通过本文的指导&#xff0c;你将能够在 Ubuntu 22.04 系统上安装并配置 Metabase&#xff0c;并通过 Nginx 进行反向代理以提高安全性。本教程假设你已经拥有了一个非 root 用户&…...

MySQL 用户与权限管理

MySQL 是一种广泛使用的关系型数据库管理系统,支持多用户访问和权限控制。在多用户环境下,数据库安全至关重要,而用户和权限管理是数据库管理中最基础也是最重要的一部分。通过合理地创建和管理用户、分配和管理权限、使用角色权限,可以有效地保护数据库,确保数据的安全性…...

【Web前端】如何构建简单HTML表单?

HTML 表单是 Web 开发中非常重要的组成部分。它们是与用户交互的主要方式&#xff0c;能够收集用户输入的数据。表单的灵活性使它们成为 HTML 中最复杂的结构之一&#xff0c;但若使用正确的结构和元素&#xff0c;可以确保其可用性和无障碍性。 表单的基本结构 HTML 表单使用…...

Spring Boot 3 集成 Spring Security(3)数据管理

文章目录 准备工作新建项目引入MyBatis-Plus依赖创建表结构生成基础代码 逻辑实现application.yml配置SecurityConfig 配置自定义 UserDetailsService创建测试 启动测试 在前面的文章中我们介绍了 《Spring Boot 3 集成 Spring Security&#xff08;1&#xff09;认证》和 《…...

书生大模型实战营第四期-入门岛-4. maas课程任务

书生大模型实战营第四期-入门岛-4. maas课程任务 任务一、模型下载 任务内容 使用Hugging Face平台、魔搭社区平台&#xff08;可选&#xff09;和魔乐社区平台&#xff08;可选&#xff09;下载文档中提到的模型&#xff08;至少需要下载config.json文件、model.safetensor…...

Spring ApplicationListener监听

【JavaWeb】Spring ApplicationListener-CSDN博客 ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现&#xff0c;内部实现原理是观察者设计模式&#xff0c;设计初衷也是为了系统业务逻辑之间的解耦&#xff0c;提高可扩展性以及可维护性。事件发布…...

K8s调度器扩展(scheduler)

1.K8S调度器 筛选插件扩展 为了熟悉 K8S调度器扩展步骤&#xff0c;目前只修改 筛选 插件 准备环境&#xff08;到GitHub直接下载压缩包&#xff0c;然后解压&#xff0c;解压要在Linux系统下完成&#xff09; 2. 编写调度器插件代码 在 Kubernetes 源代码目录下编写调度插件…...

汇川程序框架实战:从轴控到整机集成的自动化开发指南

1. 汇川程序框架入门&#xff1a;为什么选择模块化开发&#xff1f; 第一次接触汇川PLC时&#xff0c;我和很多新手一样被各种功能块绕得头晕。直到在汽车零部件产线项目上踩了三天坑才发现&#xff1a;模块化编程才是工业自动化的救命稻草。想象一下乐高积木——轴控、气缸、T…...

Labview 机器视觉(4)之 图像处理进阶 - 像素操作与批量保存

1. 像素操作&#xff1a;从入门到精通的实战指南 在工业自动化领域&#xff0c;图像处理的核心往往在于对像素级别的精准控制。LabVIEW作为一款强大的图形化编程工具&#xff0c;提供了丰富的像素操作函数&#xff0c;让工程师能够像搭积木一样构建复杂的视觉处理流程。 我第一…...

Qwen1.5-1.8B GPTQ开发环境配置:IntelliJ IDEA插件开发初探

Qwen1.5-1.8B GPTQ开发环境配置&#xff1a;IntelliJ IDEA插件开发初探 如果你是一名Java开发者&#xff0c;对AI大模型感兴趣&#xff0c;想在自己的IDE里搞点“智能”新花样&#xff0c;那么你来对地方了。今天我们不聊复杂的模型训练&#xff0c;也不讲高深的算法原理&…...

避坑指南:Jetson AGX Xavier刷机全流程(含显示器兼容性测试)

Jetson AGX Xavier刷机避坑指南&#xff1a;从零配置到显示器兼容性实战 第一次拿到Jetson AGX Xavier开发板时&#xff0c;那种既兴奋又忐忑的心情至今记忆犹新。作为NVIDIA边缘计算产品线的旗舰级设备&#xff0c;这块开发板在机器人、自动驾驶和工业检测等领域展现出了惊人的…...

3个核心功能解决Windows 11系统问题:Win11Debloat优化工具深度评测

3个核心功能解决Windows 11系统问题&#xff1a;Win11Debloat优化工具深度评测 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更…...

Engram:解锁AI潜能,系统优化新高度!

Engram是一种基于LLM的智能体研究者架构&#xff0c;旨在解决系统优化中AI的两个关键局限&#xff1a;进化邻域偏差和连贯性上限。通过将长时程探索与单一上下文窗口解耦&#xff0c;Engram组织一系列智能体迭代设计、测试和分析机制。每次运行结束时&#xff0c;智能体将代码快…...

Java中调用PyTorch模型总失败?深度解析JNI桥接、序列化协议与内存泄漏的4重陷阱

第一章&#xff1a;Java AI 推理引擎集成示例在 Java 生态中集成 AI 推理能力&#xff0c;关键在于选择轻量、可嵌入且支持主流模型格式的推理引擎。本章以 Deep Java Library (DJL) 为例&#xff0c;演示如何在标准 Java 应用中加载 ONNX 模型并执行文本分类推理。环境准备与依…...

突破3大资源壁垒:UABEA工具实战指南

突破3大资源壁垒&#xff1a;UABEA工具实战指南 【免费下载链接】UABEA UABEA: 这是一个用于新版本Unity的C# Asset Bundle Extractor&#xff08;资源包提取器&#xff09;&#xff0c;用于提取游戏中的资源。 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA 当你…...

具身智能“标准线”划定,行业分化加剧?

近期具身智能行业有两件大事&#xff0c;宇树科技计划 IPO&#xff0c;首个行业标准发布。这两条“标准线”的确立&#xff0c;或使品牌和投融资市场迎来马太效应&#xff0c;推动行业分化。标准确立&#xff0c;行业分化开端具身智能行业的两件大事看似关联不大&#xff0c;实…...

【系统分析师_知识点整理】 8.项目管理

核心考向&#xff1a;进度管理&#xff08;计算 选择最高频&#xff09;&#xff1a;关键路径、ES/EF/LS/LF、总浮动时间、自由浮动时间、PDM 四种依赖、进度偏差分析&#xff1b;范围管理&#xff1a;WBS、范围确认、范围控制、范围边界定义&#xff1b;成本管理&#xff1a;…...