iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java学习笔记之Maven篇
  • 547
分享到

Java学习笔记之Maven篇

2024-04-02 19:04:59 547人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、Maven能做什么?1.1 两大应用1.2 maven 的核心二、maven结构:2.1 maven工程标准目录结构2.2 配置系统变量2.3 常用命令三、应用:idea集成

一、maven能做什么?

【本质】:将原材料(各种Java本身的类,不包括jar包)生产成为可运行的工程项目
Maven - 自动化构建工具,英文单词是专家内行的意思

1.方便管理jar包,jar包冲突?

2.打包WEB项目(节省jar包空间)

1.1 两大应用

依赖管理】maven的jar包放在jar包仓库,maven只存储jar包的坐标。(代码重用思想)
一键构建】编译、测试、运行、打包、安装、部署 操作一体化
【POM:Project Object Model 工程对象模型
【pom.xml】:maven工程核心配置文件(装载依赖)[同动态web中的web.xml]
【部署】:把编译结果“拿到”服务器指定目录下

1.2 maven 的核心

1.依赖管理:
POM项目对象模型,里面配置的是 ①项目自身的信息 ②项目所依赖的jar包的信息 ③项目运行环境的信息:jdkTomcat信息。
依赖的jar包又涉及到依赖管理模型:公司的名称、项目名称、版本号

2.一键构建:maven默认生命周期

【图】

二、maven结构:

【maven安装】:本身就是绿化版,我们需要做的事情是配置好相关的环境变量和settings
【maven目录】:

bin: mvn.cmd命令
boot: 类加载器
config: settings.xml
lib: 有各种各样的jar包

2.1 maven工程标准目录结构


核心代码 src/main/java
配置文件 src/main/resources
测试代码 src/test/java
测试配置 src/test/resources
页面资源(jsp、CSS):src/main/webapp

2.2 配置系统变量

【1】MAVEN_HOME:就是maven的五脏都在的那个位置
【2】PATH:找到%MAVEN_HOME%\bin,里面有mvn的启动文件

【3】config/settings.xml中


 <!-- localRepository  重新编写再维护
   | The path to the local repository maven will use to store artifacts.   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  
  <localRepository>B:\Environment\maven\maven_repository</localRepository>

坐标:

groupid:com.公司/组织.项目名
artifactid:模块名
version:版本

2.3 常用命令


mvn clean  == 清除项目编译信息(每个人的编译结果不一样,在新的环境下运行需要清除原有的东西)
mvn compile  == javac,编译出新的.class文件保存在target目录里面
mvn test  == main和test都编译了
mvn package  == 打成了war包,在pom.xml中可以配置打成什么格式。
mvn install  == 把项目打在了本地仓库
mvn deploy

几个小问题:

1.生命周期

编译,测试,打包,安装,发布
(清除生命周期)默认生命周期~~生老病死,(站点生命周期)

2.maven工程查找仓库的流程是什么?

pom.xml寻求依赖的jar包:一般的
先去本地仓库找jar包,再到远程仓库【私服】,在同一局域网就可以下载,最后才是中央仓库

①maven中央仓库(地址:Http://repo2.maven.org/maven2/)
②maven私服(公司局域网内的仓库,需要自己搭建)
③其他公共远程仓库(例如apache提供的远程仓库,地址:http://repo.maven.apache.org/maven2/)

三、应用:idea集成maven插件

3.1 步骤

基本配置
【1】先在setting中配置maven_home、settings.xml
在runner配置先从本地获取插件(加上-DarchetypeCatalog=internal

【2】使用骨架创建maven工程:
手动补齐resources作为资源根目录

不使用骨架模板构建maven工程:自带main(java、resources)、test目录

使用骨架,找到mavenwebapp的原型:maven-archetype-webapp

【3】指定web资源包
创建servlet,导入jar包==》pom.xml里面导入jar包(配置依赖的groupId群组Id、artifactId工程Id、version版本)

两种方式导入jar包:(一般都看不到)
【本地】项目名称:配置servlet-api、jsp-api、公司名称、版本号
网络https://mvnrepository.com/

依赖书写规范:


<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

scope

在这里插入图片描述

3.2 Tips

servlet-api包冲突
maven一键构建在【集成插件】中
设置scope是提供了的provided
用完之后要停止项目,避免端口占用


使用live Templates模板
确定tomcat
maven-compiler-plugin选定JDK

3.3 基本配置总结


pom.xml是Maven项目的核心配置文件,位于每个工程的根目录,基本配置如下:
<project > :文件的根节点 . 
<modelversion > : pom.xml使用的对象模型版本 
<groupId > :项目名称,一般写项目的域名 
<artifactId > :模块名称,子项目名或模块名称 
<version > :产品的版本号 .
	<packaging > :打包类型,一般有jar、war、pom 等 
<name > :项目的显示名,常用于 Maven 生成的文档。 
<description > :项目描述,常用于 Maven 生成的文档
<dependencies> :项目依赖构件配置,配置项目依赖构件的坐标
<build> :项目构建配置,配置编译、运行插件等。

四、示例

maven工程获取Mysql数据(使用maven访问持久层)


package com.xianzai.demo.dao.impl;

import com.xianzai.demo.dao.StudentDao;
import com.xianzai.demo.pojo.StudentModel;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class StudentImpl implements StudentDao {
    public List<StudentModel> findOne() {
        List<StudentModel> list = new ArrayList<StudentModel>();
        try {
            String sql = "select * from stulist";
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3308/hzyc98", "root", "mysql");
            PreparedStatement ps = conn.prepareCall(sql);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                StudentModel stu = new StudentModel();
                stu.setCollege(rs.getString("college"));
                stu.setName(rs.getString("sname"));
                stu.setId(rs.getString("id"));
                list.add(stu);
            }
            System.out.println(list);
            rs.close();
            ps.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {

        }
        return list;
    }
}

到此这篇关于Java学习笔记之Maven篇的文章就介绍到这了,更多相关Java Maven内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java学习笔记之Maven篇

本文链接: https://www.lsjlt.com/news/125827.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java学习笔记之Maven篇
    目录一、maven能做什么?1.1 两大应用1.2 maven 的核心二、maven结构:2.1 maven工程标准目录结构2.2 配置系统变量2.3 常用命令三、应用:idea集成...
    99+
    2024-04-02
  • TypeScript学习笔记之类型窄化篇
    目录前言类型推论真值窄化相等性窄化in操作符窄化instanceof窄化窄化的本质联合类型的窄化总结前言 TS最好用的地方就是强类型,随之而来的就是类型窄化,摸鱼的时候顺道总结下. ...
    99+
    2024-04-02
  • Flutter学习笔记 —— WebSocket篇
    Flutter学习笔记 —— WebSocket篇 前言 WebSocket 大家都不陌生了,我们今天来看看怎么在Flutter中使用WebSocket! 开发环境 Android StudioAndroid SD...
    99+
    2023-08-22
    flutter 学习 websocket
  • Python学习笔记(办公篇Excel)
    简介:      今日接了个小单,把数据从xlsx读取到本地生成散点图,在读取日期数据时发现,读取下来的日期是数字,不是日期的格式    所要用的库: xlrd :1.1.0 time: datetime: 解决方法: ...
    99+
    2023-01-30
    学习笔记 Python Excel
  • Java笔记之从IO模型到Netty框架学习初识篇
    目录什么是NettyIO模型BIOBIO编程简单流程BIO简单实例NIOBufferBuffer基本使用Buffer四个主要属性Channel本地文件写案例本地文件读案例本地文件拷贝...
    99+
    2024-04-02
  • python学习笔记(三)—数据库篇
    一、数据库编程 数据库编程是指在应用程序中使用数据库管理系统(DBMS)进行数据存储、检索和处理的过程。数据库提供了一种结构化的方式来组织和存储数据,使得数据的管理更加高效和可靠。 1.1 关系数据库...
    99+
    2023-09-18
    python 学习 笔记
  • python学习笔记-利器篇1:IPyt
     子曰:工欲善其事必先利其器 偶然在一篇谈pyhon的文章中看到了IPython。第一感觉就是这和苹果有啥关系吧,兴起一搜才发现原来是一个代替python默认命令行终端的玩样儿。 它家网站上贴出来的宣传图真是好看阿,又是彩色高亮又是直接在终...
    99+
    2023-01-31
    利器 学习笔记 python
  • Yii2 学习笔记之 GridView DetailView
    Yii2中的GridView和DetailView是两个非常实用的小部件,用于展示数据。GridView用于展示多条数据,而Deta...
    99+
    2023-09-28
    Yii2
  • Python学习笔记之线程
    目录1.自定义进程2.进程与线程3.多线程4.Thread类方法5.多线程与多进程小Case6.Thread 的生命周期7.自定义线程8.线程共享数据与GIL(全局解释器锁)9.GI...
    99+
    2024-04-02
  • JAVA编程学习笔记
    常用代码、特定函数、复杂概念、特定功能……在学习编程的过程中你会记录下哪些内容?快来分享你的笔记,一起切磋进步吧! 一、常用代码 在java编程中常用需要储备的就是工具类。包括封装的时间工具类。htt...
    99+
    2023-09-03
    java 学习 笔记
  • JAVA学习笔记- - - day 2
     💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕 目录  💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和...
    99+
    2023-09-04
    学习
  • Python3学习笔记之is == in
    意义 ==比较的是两个对象的值是否相等,比较常用 a = [1, 2, 3] b = [1, 2, 3] print(a == b) #True is比较的是两个对象是不是同一个实例对象,它们的内存地址是否相同...
    99+
    2023-01-31
    学习笔记
  • java学习笔记之马踏棋盘算法
    马踏棋盘或骑士周游问题 1、马踏棋盘算法也被称为骑士周游问题2、将马随机放在国际象棋的 8×8 棋盘 Board[0~7][0~7]的某个方格中,马按走棋规则(马走日字)...
    99+
    2024-04-02
  • HTML语法学习笔记:记录您的学习之旅
    HTML 简介 超文本标记语言 (HTML) 是互联网上网页的基础。它是一种标记语言,用于定义网页的结构和内容。学习 HTML 语法对于成为一名成功的网络开发者至关重要。 HTML 元素 HTML 中的基础构建块是元素。它们由一对尖括号...
    99+
    2024-03-09
    HTML、语法、学习、教程、网络开发
  • Matplotlib学习笔记之plt.xticks()用法
    目录前言函数功能函数语法函数参数例子参考总结前言 在学习ML的过程中,遇到plt.xticks()的使用,在网上看别人写的教程,看得有点头晕,最后看官方文档和一个例子才明白了其用法。...
    99+
    2024-04-02
  • XenDesktop学习笔记3之架构
    架构: 1、物理组件: DDC     一台              PVS+XenCenter 一台 AD+DHCP+DNS 一台 XenServer   一台 用户设备 一台 2、软件要求 XenServer 5.5         ...
    99+
    2023-01-31
    架构 学习笔记 XenDesktop
  • Java Unsafe学习笔记分享
    目录sun.misc.Unsafe获取Unsafe实例重点API使用场景避免初始化内存崩溃(Memory corruption)抛出异常(Throw an Exception)大数组...
    99+
    2024-04-02
  • Java--内部类学习笔记
    本文介绍了什么是内部类,Java中的内部类:实例内部类. 静态内部类.局部内部类.匿名内部类的语法和注意事项,以及每个内部类的运用场景,以及简单介绍了匿名内部类更简洁更特殊的语法->lambda表...
    99+
    2023-09-11
    java 学习 笔记
  • PHP Switch 语句之学习笔记
    PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作。 Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。 使用 Switch 语句...
    99+
    2022-11-15
    PHP Switch
  • 学习笔记-TP5框架学习笔记\(路由\)
    TP5框架简单理解 (PS:只做粗略、关键知识的记录,TP程序的开始。详情请阅读官方手册) 1. 架构总览 TP程序的开始 PHP >=5.3.0, PHP7 ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方...
    99+
    2023-10-25
    学习 php 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作