• Maven使用安装


    目录

    1.什么是Maven

            1.1 Maven的简介

            1.2 Maven的作用

    2.如何从官网下载Maven

            2.1 官网

            2.2 了解下载过程

    3.配置Maven

            3.1 配置环境变量

            3.2 eclipse配置

            3.3 使用Maven


    1.什么是Maven

            1.1 Maven的简介

        Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
     

            1.2 Maven的作用

       完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。

    2.如何从官网下载Maven

            2.1 官网

     http://maven.apache.org/download.cgi

            2.2 了解下载过程

    地址栏中输入官网 

    进入官网 

    选择下载:

     这里有不同版本的maven:

     下载好之后就会有对应的压缩包(要放在非中文目录下):

     解压文件夹:

    3.配置Maven

            3.1 配置环境变量

    选择此电脑,右键属性,打开系统:

    选择高级系统: 

    选择环境变量: 

    点击新建,输入变量名,再输入waven文件地址:

     找到Path双击打开:

     输入%MAVEB_HOME%\bin然后点击确定,环境变量就配置完:

     然后进行测试,徽标键+r 输入cmd:

    打开mvc之后输入mvn -version(以下为配置成功的图片):

      然后修改:

    修改“MAVEN_HOME\config”下的setting.xml文件,配置本地仓库。注意是:“E:/”而非“E:\”
          例如:E:/mvn-repository
          注1:标签在setting.xml文件的53行
          注2:仓库的作用就是用来存放jar包的
          注3:仓库的分类
               中央仓库
               公司仓库(也叫私人仓库或私服)
               本地仓库

               中央仓库(http://search.maven.org/,但一般使用另外一个网站:http://www.mvnrepository.com/)
               公司仓库
               本地仓库           
                 公司里面还会有一个大仓库(本地)全公司使用
                 本地仓库程序员自己使用,私服全公司使用,中央仓库所有人用

          注4:jar的查找顺序:本地仓库->私服->中央仓库

          注5:换源“阿里云”

    中央仓库: 

     ​​​​

     仓库网址:

    http://www.mvnrepository.comhttp://www.mvnrepository.com

    许多的jar包可以从仓库下载,但是项目一般会用到很多的jar包,MAVEN相当与将jar都放在一起
    http://www.mvnrepository.com

    地址栏输入想要的jar包,想要哪个点哪个:

    想要哪个版本下哪个: 

     以上了解一下就好,现在开始修改conf下的xml

     

     

    用记事本打开后,ctrl+f 输入本地仓库 localRepository

     

     将coyp一份在外面,但是里面的别删掉

     再建一个文件夹方便贮存:

     换成新建文件加的路径名(注意斜杠方向):

     

     coyp一份url代表放公司的私人仓库地址

     

    我没在公司我用阿里云的 (嘚瑟):

     

     
      alimaven
      aliyun maven
      http://maven.aliyun.com/nexus/content/groups/public/
      central        

     
     alimaven  
     central  
     aliyun maven  
     http://maven.aliyun.com/nexus/content/repositories/central/  
     

        3.2 eclipse配置 

    window---->prefernces ----->输入work------>点击Workspace---->选择UTF-8:

     jsp----->选择第一个

     

    配置tomcat :

     

     选择与你下载的tomcat对应的版本:

       

     

    以上为tomcat的配置,复习一下,现在开始maven的配置 

    选择maven的解压目录 :

     

    点击勾选: 

     

    选择conf---->settings.xml文件夹: 

     

     eclipse的maven配置完成^ - ^

            3.3 使用Maven

    创建一个maven项目

    crtl+n------->选择最后一个

    点击两次next

     

    点击下一次会在仓库创建一个文件夹: 

     

    创建名字: 

     

    创建有点慢不着急 

     

    跑完之后本地仓库会有很多jar包: 

     

    报错不要着急: 

     

     

     把勾去掉

    会增加几个文件夹: 

     

     点击pom.xml---->pom.xml--->输入

    (注意位置)

     



                    org.apache.maven.plugins
                    maven-compiler-plugin
                    3.7.0
                    
                        1.8
                        1.8
                        UTF-8
                    

                

     

     web.xml

     
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">


                junit
                junit
                4.12
                test
            

            
                mysql
                mysql-connector-java
                5.1.44
            

            
                javax.servlet
                javax.servlet-api
                4.0.1
                provided
            

     修改成1.8的版本

     

    apply之后再点击 勾选 然后再点击下面的

     

    右键maven---->maven  project 

     ​​​​​​

    没有报错啦!!!!!

    案例:

     

     

    DBAsses:

    1. package com.ruojuan.util;
    2. import java.io.InputStream;
    3. import java.sql.Connection;
    4. import java.sql.DriverManager;
    5. import java.sql.ResultSet;
    6. import java.sql.SQLException;
    7. import java.sql.Statement;
    8. import java.util.Properties;
    9. import com.mysql.jdbc.Driver;
    10. /**
    11. * 提供了一组获得或关闭数据库对象的方法
    12. *
    13. */
    14. public class DBAccess {
    15. private static String driver;
    16. private static String url;
    17. private static String user;
    18. private static String password;
    19. static {// 静态块执行一次,加载 驱动一次
    20. try {
    21. InputStream is = DBAccess.class
    22. .getResourceAsStream("config.properties");
    23. Properties properties = new Properties();
    24. properties.load(is);
    25. /*driver = properties.getProperty("driver");*/
    26. url = properties.getProperty("url");
    27. user = properties.getProperty("user");
    28. password = properties.getProperty("pwd");
    29. System.out.println(driver);
    30. Class.forName(driver);
    31. } catch (Exception e) {
    32. e.printStackTrace();
    33. throw new RuntimeException(e);
    34. }
    35. }
    36. /**
    37. * 获得数据连接对象
    38. *
    39. * @return
    40. */
    41. public static Connection getConnection() {
    42. try {
    43. Connection conn = DriverManager.getConnection(url, user, password);
    44. return conn;
    45. } catch (SQLException e) {
    46. e.printStackTrace();
    47. throw new RuntimeException(e);
    48. }
    49. }
    50. public static void close(ResultSet rs) {
    51. if (null != rs) {
    52. try {
    53. rs.close();
    54. } catch (SQLException e) {
    55. e.printStackTrace();
    56. throw new RuntimeException(e);
    57. }
    58. }
    59. }
    60. public static void close(Statement stmt) {
    61. if (null != stmt) {
    62. try {
    63. stmt.close();
    64. } catch (SQLException e) {
    65. e.printStackTrace();
    66. throw new RuntimeException(e);
    67. }
    68. }
    69. }
    70. public static void close(Connection conn) {
    71. if (null != conn) {
    72. try {
    73. conn.close();
    74. } catch (SQLException e) {
    75. e.printStackTrace();
    76. throw new RuntimeException(e);
    77. }
    78. }
    79. }
    80. public static void close(Connection conn, Statement stmt, ResultSet rs) {
    81. close(rs);
    82. close(stmt);
    83. close(conn);
    84. }
    85. public static boolean isOracle() {
    86. return "oracle.jdbc.driver.OracleDriver".equals(driver);
    87. }
    88. public static boolean isSQLServer() {
    89. return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(driver);
    90. }
    91. public static boolean isMysql() {
    92. //com.mysql.cj.jdbc.Driver
    93. System.out.println(123);
    94. return "com.mysql.jdbc.Driver".equals(driver);
    95. }
    96. public static void main(String[] args) {
    97. Connection conn = DBAccess.getConnection();
    98. System.out.println(conn);
    99. DBAccess.close(conn);
    100. System.out.println("isOracle:" + isOracle());
    101. System.out.println("isSQLServer:" + isSQLServer());
    102. System.out.println("isMysql:" + isMysql());
    103. System.out.println("数据库连接(关闭)成功");
    104. }
    105. }

     config.properties

    1. #mysql8
    2. driver=com.mysql.jdbc.Driver
    3. url=jdbc:mysql://127.0.0.1:3306/t280?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=true
    4. user=root
    5. pwd=123456

    User

    1. package com.ruojuan.entity;
    2. public class User {
    3. private long id;
    4. private String name;
    5. private String loginName;
    6. private String pwd;
    7. private long rid;
    8. public long getId() {
    9. return id;
    10. }
    11. public void setId(long id) {
    12. this.id = id;
    13. }
    14. public String getName() {
    15. return name;
    16. }
    17. public void setName(String name) {
    18. this.name = name;
    19. }
    20. public String getLoginName() {
    21. return loginName;
    22. }
    23. public void setLoginName(String loginName) {
    24. this.loginName = loginName;
    25. }
    26. public String getPwd() {
    27. return pwd;
    28. }
    29. public void setPwd(String pwd) {
    30. this.pwd = pwd;
    31. }
    32. public long getRid() {
    33. return rid;
    34. }
    35. public void setRid(long rid) {
    36. this.rid = rid;
    37. }
    38. public User() {
    39. // TODO Auto-generated constructor stub
    40. }
    41. public User(long id, String name, String loginName, String pwd, long rid) {
    42. this.id = id;
    43. this.name = name;
    44. this.loginName = loginName;
    45. this.pwd = pwd;
    46. this.rid = rid;
    47. }
    48. public User(String loginName, String pwd) {
    49. this.loginName = loginName;
    50. this.pwd = pwd;
    51. }
    52. @Override
    53. public String toString() {
    54. return "User [id=" + id + ", name=" + name + ", loginName=" + loginName + ", pwd=" + pwd + ", rid=" + rid + "]";
    55. }
    56. }

    UserDao:

    1. package com.ruojuan.dao;
    2. import java.sql.Connection;
    3. import java.sql.ResultSet;
    4. import java.sql.Statement;
    5. import com.ruojuan.entity.User;
    6. import com.ruojuan.util.DBAccess;
    7. public class UserDao{
    8. Statement stmt = null;
    9. Connection conn = null;
    10. ResultSet rs = null;
    11. //登陆
    12. public boolean login(User u) {
    13. boolean f = true;
    14. try {
    15. //创建连接
    16. conn = DBAccess.getConnection();
    17. //定义sql语句
    18. String sql = "select * from t_oa_user where loginName=? and pwd=?";
    19. //执行sql语句
    20. stmt = conn.prepareStatement(sql);
    21. //获得结果集
    22. rs = stmt.executeQuery(sql);
    23. if(rs==null) {
    24. return !f;
    25. }
    26. else{
    27. //遍历结果集
    28. while(rs.next()) {
    29. u.setId(rs.getLong(1));
    30. u.setName(rs.getString(2));
    31. u.setLoginName(rs.getString(3));
    32. u.setPwd(rs.getString(4));
    33. u.setRid(rs.getLong(5));
    34. }
    35. }
    36. } catch (Exception e) {
    37. e.printStackTrace();
    38. } finally {
    39. DBAccess.close(conn, stmt, rs);
    40. }
    41. return f;
    42. }
    43. }

    UserAction

    1. package com.ruojuan.web;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import javax.servlet.ServletException;
    5. import javax.servlet.annotation.WebServlet;
    6. import javax.servlet.http.HttpServlet;
    7. import javax.servlet.http.HttpServletRequest;
    8. import javax.servlet.http.HttpServletResponse;
    9. import com.ruojuan.dao.UserDao;
    10. import com.ruojuan.entity.User;
    11. @WebServlet("/login.do")
    12. public class UserAction extends HttpServlet{
    13. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    14. doPost(request, response);
    15. }
    16. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    17. //设置编码方式
    18. request.setCharacterEncoding("utf-8");
    19. response.setCharacterEncoding("utf-8");
    20. response.setContentType("text/html; charset=UTF-8");
    21. //out
    22. PrintWriter out = response.getWriter();
    23. //获取表单提交过来的值
    24. String name = request.getParameter("name");
    25. String pwd = request.getParameter("pwd");
    26. //实例化
    27. User user = new User(name,pwd);
    28. UserDao userdao = new UserDao();
    29. //调用dao方法
    30. boolean login = userdao.login(user);
    31. if(login==true) {
    32. request.getRequestDispatcher("index.jsp").forward(request, response);
    33. }
    34. else {
    35. out.print("");
    36. }
    37. }
    38. }

    login.jsp:

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    4. <html>
    5. <head>
    6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    7. <title>登陆界面title>
    8. head>
    9. <body>
    10. <center>
    11. <form action="login.do" method="post">
    12. 登陆名:<input type="text" name="name"><br/>
    13. 密 码:<input type="text" name="pwd"><br/>
    14. <input type="submit" value="查询">
    15. <input type="reset" value="重置">
    16. form>
    17. center>
    18. body>
    19. html>

    index.jsp

    1. <html>
    2. <body>
    3. <h2>Hello World!h2>
    4. body>
    5. html>

  • 相关阅读:
    数据库补充知识
    懒人福音:Java版Webhook机器人,一键开启‘躺赢’模式
    Prime Ring Problem(素数环问题)
    SpringSecurity详解
    使用HTML+CSS实现一个静态页面——面包蛋糕 (9页)
    STL容器 ——stack和queue的模拟实现
    Java基础 | Stream流原理与用法总结
    Python中遍历列表remove漏删解决方案
    仿QQ音乐(HTML+CSS)
    idea如何查找maven依赖、查看依赖关系、删除重复的jar包
  • 原文地址:https://blog.csdn.net/weixin_67338832/article/details/126146333