springMvc23-配置maven环境和创建maven项目(建议收藏,超全超详细)

简介: springMvc23-配置maven环境和创建maven项目(建议收藏,超全超详细)

1本次歌谣就对如何创建一个maven项目做一个详细的讲解,毕竟卡了我三天,久久不能入眠,也搜了网上很多的博客

都没有顺利的解决maven项目的创建。这篇建议大家收藏,总会用到的。不然大家看网上的博客也是一脸懵逼。

2首先工具使用

eclipse

3首先我们要创建maven环境,这一步网上的教程一般都是不说的,据说是可安装也可不安装。但是最好安装吧

这边我就大概讲解一下了

首先去网上下载一个https://maven.apache.org/download.cgi

网址是这个,解压放到我们的盘中,随便一个盘符都行,我放在D盘了

接着我们就解压,建立一个java文件放在里面

然后配置环境变量

自己的计算机  右键---属性---高级系统设置----环境变量 建立一个M2_HOME 和一个MAVEN_HOME

然后加

这些安装好了之后打开cmd

mvn -v

这时候就安装完成了

接着咱们就需要下载镜像,

链接:https://pan.baidu.com/s/1H9136tKTECW25LpybQ6OQA

提取码:h7lx

放在repository目录下

这些弄好了,注意两个地方

<?xml version="1.0" encoding="UTF-8"?>
     <!--
     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at
        http://www.apache.org/licenses/LICENSE-2.0      
     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.
     -->
     <!--
      | This is the configuration file for Maven. It can be specified at two levels:
      |
      |  1. User Level. This settings.xml file provides configuration for a single user,
      |                 and is normally provided in ${user.home}/.m2/settings.xml.
      |
      |                 NOTE: This location can be overridden with the CLI option:
      |
      |                 -s /path/to/user/settings.xml
      |
      |  2. Global Level. This settings.xml file provides configuration for all Maven
      |                 users on a machine (assuming they're all using the same Maven
      |                 installation). It's normally provided in
      |                 ${maven.conf}/settings.xml.
      |
      |                 NOTE: This location can be overridden with the CLI option:
      |
      |                 -gs /path/to/global/settings.xml
      |
      | The sections in this sample file are intended to give you a running start at
      | getting the most out of your Maven installation. Where appropriate, the default
      | values (values used when the setting is not specified) are provided.
      |
      |-->
     <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
       <!-- 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>D:java\repository</localRepository>
       <!-- interactiveMode
        | This will determine whether maven prompts you when it needs input. If set to false,
        | maven will use a sensible default value, perhaps based on some other setting, for
        | the parameter in question.
        |
        | Default: true
       <interactiveMode>true</interactiveMode>
       -->
       <!-- offline
        | Determines whether maven should attempt to connect to the network when executing a build.
        | This will have an effect on artifact downloads, artifact deployment, and others.
        |
        | Default: false
       <offline>false</offline>
       -->
       <!-- pluginGroups
        | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
        | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
        | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
        |-->
       <pluginGroups>
         <!-- pluginGroup
          | Specifies a further group identifier to use for plugin lookup.
         <pluginGroup>com.your.plugins</pluginGroup>
         -->
       </pluginGroups>
       <!-- proxies
        | This is a list of proxies which can be used on this machine to connect to the network.
        | Unless otherwise specified (by system property or command-line switch), the first proxy
        | specification in this list marked as active will be used.
        |-->
       <proxies>
         <!-- proxy
          | Specification for one proxy, to be used in connecting to the network.
          |
         <proxy>
           <id>optional</id>
           <active>true</active>
           <protocol>http</protocol>
           <username>proxyuser</username>
           <password>proxypass</password>
           <host>proxy.host.net</host>
           <port>80</port>
           <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
         </proxy>
         -->
       </proxies>
       <!-- servers
        | This is a list of authentication profiles, keyed by the server-id used within the system.
        | Authentication profiles can be used whenever maven must make a connection to a remote server.
        |-->
       <servers>
         <!-- server
          | Specifies the authentication information to use when connecting to a particular server, identified by
          | a unique name within the system (referred to by the 'id' attribute below).
          |
          | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
          |       used together.
          |
         <server>
           <id>deploymentRepo</id>
           <username>repouser</username>
           <password>repopwd</password>
         </server>
         -->
         <!-- Another sample, using keys to authenticate.
         <server>
           <id>siteServer</id>
           <privateKey>/path/to/private/key</privateKey>
           <passphrase>optional; leave empty if not used.</passphrase>
         </server>
         -->
         <server>
     <id>n</id>
     <username>abc</username>
     <password>12345</password>
     </server>
       </servers>
       <!-- mirrors
        | This is a list of mirrors to be used in downloading artifacts from remote repositories.
        |
        | It works like this: a POM may declare a repository to use in resolving certain artifacts.
        | However, this repository may have problems with heavy traffic at times, so people have mirrored
        | it to several places.
        |
        | That repository definition will have a unique id, so we can create a mirror reference for that
        | repository, to be used as an alternate download site. The mirror site will be the preferred
        | server for that repository.
        |-->
       <mirrors>
         <!-- mirror
          | Specifies a repository mirror site to use instead of a given repository. The repository that
          | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
          | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
          |
         <mirror>
           <id>mirrorId</id>
           <mirrorOf>repositoryId</mirrorOf>
           <name>Human Readable Name for this Mirror.</name>
           <url>http://my.repository.com/repo/path</url>
         </mirror>
          -->
           <mirror>
             <id>nexus-aliyun</id>
             <mirrorOf>*</mirrorOf>
             <name>Nexus aliyun</name>
             <url>http://maven.aliyun.com/nexus/content/groups/public</url>
         </mirror>
       </mirrors>
       <!-- profiles
        | This is a list of profiles which can be activated in a variety of ways, and which can modify
        | the build process. Profiles provided in the settings.xml are intended to provide local machine-
        | specific paths and repository locations which allow the build to work in the local environment.
        |
        | For example, if you have an integration testing plugin - like cactus - that needs to know where
        | your Tomcat instance is installed, you can provide a variable here such that the variable is
        | dereferenced during the build process to configure the cactus plugin.
        |
        | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
        | section of this document (settings.xml) - will be discussed later. Another way essentially
        | relies on the detection of a system property, either matching a particular value for the property,
        | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
        | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
        | Finally, the list of active profiles can be specified directly from the command line.
        |
        | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
        |       repositories, plugin repositories, and free-form properties to be used as configuration
        |       variables for plugins in the POM.
        |
        |-->
       <profiles>
         <!-- profile
          | Specifies a set of introductions to the build process, to be activated using one or more of the
          | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
          | or the command line, profiles have to have an ID that is unique.
          |
          | An encouraged best practice for profile identification is to use a consistent naming convention
          | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
          | This will make it more intuitive to understand what the set of introduced profiles is attempting
          | to accomplish, particularly when you only have a list of profile id's for debug.
          |
          | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
         <profile>
           <id>jdk-1.4</id>
           <activation>
             <jdk>1.4</jdk>
           </activation>
           <repositories>
             <repository>
               <id>jdk14</id>
               <name>Repository for JDK 1.4 builds</name>
               <url>http://www.myhost.com/maven/jdk14</url>
               <layout>default</layout>
               <snapshotPolicy>always</snapshotPolicy>
             </repository>
           </repositories>
         </profile>
         -->
         <!--
          | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
          | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
          | might hypothetically look like:
          |
          | ...
          | <plugin>
          |   <groupId>org.myco.myplugins</groupId>
          |   <artifactId>myplugin</artifactId>
          |
          |   <configuration>
          |     <tomcatLocation>${tomcatPath}</tomcatLocation>
          |   </configuration>
          | </plugin>
          | ...
          |
          | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
          |       anything, you could just leave off the <value/> inside the activation-property.
          |
         <profile>
           <id>env-dev</id>
           <activation>
             <property>
               <name>target-env</name>
               <value>dev</value>
             </property>
           </activation>
           <properties>
             <tomcatPath>/path/to/tomcat/instance</tomcatPath>
           </properties>
         </profile>
         -->
       </profiles>
       <!-- activeProfiles
        | List of profiles that are active for all builds.
        |
       <activeProfiles>
         <activeProfile>alwaysActiveProfile</activeProfile>
         <activeProfile>anotherAlwaysActiveProfile</activeProfile>
       </activeProfiles>
       -->
     </settings>

先把配置文件都给上

修改仓库指向位置

修改镜像下载位置

这两处修改好了之后没问题了

4点击windows---preferences

选中上述我们的配置文件

5打开eclipse

new ---maven project

填好信息,这里要搞个war

然后项目就建立成功了,第一次打开eclipse不一定有这个文件

那咋办呢

如果没有,就这个解决了

还有我们一开始建立文件会有一个红色报错,别慌

这个时候 右键点击我们的项目  选中java ee tool----Generate Deployment descriptor stub就解决了

6一般这个时候我们就开始插入一些lib包了,很多博客都不说,最后jar包都不全你跑个蛇皮

这个路径下建立个jar包懂不懂

jar需要哪些

这些jar包懂不懂

7我这边就给贴一个官网的地址,自个下去,如果你这也不会,那也不会,搞个蛇皮,毕竟歌谣高了三天

百度搜索springMVC maven就可以直接找到官网

 https://mvnrepository.com/search?q=springmvc

在这可劲搜把

7然后请把lib下的所有lib包biludpath --- add to biludpath,记得加进去哈

这两个包不在这个地方,自己找地方下载

把包搜全,然后配置我们的pom.xml

直接上代码了

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <groupId>com.geyao</groupId>
       <artifactId>springmaven</artifactId>
       <version>0.0.1-SNAPSHOT</version>
       <dependencies>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-webmvc</artifactId>
         <version>4.2.8.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
         <version>4.2.8.RELEASE</version>
     </dependency>
     <dependency>  
             <groupId>javax.servlet</groupId>  
             <artifactId>servlet-api</artifactId>  
             <version>2.5</version>  
         </dependency>  
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
         <version>4.2.8.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-beans</artifactId>
         <version>4.2.8.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-web</artifactId>
         <version>4.2.8.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aop</artifactId>
         <version>4.2.8.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-expression</artifactId>
         <version>4.2.8.RELEASE</version>
     </dependency>
       </dependencies>
     </project>

8接着我们不是有一个web.xml文件吗,你别动他位置好吧,我们也直接代码上上

<?xml version="1.0" encoding="UTF-8"?>
     <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
         <display-name>Springmaven01</display-name>
      <welcome-file-list>
       <welcome-file>/WEB-INF/jsp/home.jsp</welcome-file>
      </welcome-file-list>
         <!-- 处理中文乱码 -->
         <filter>
             <filter-name>encodingFilter</filter-name>
             <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
             <init-param>
                 <param-name>encoding</param-name>
                 <param-value>UTF-8</param-value>
             </init-param>
         </filter>
         <filter-mapping>
             <filter-name>encodingFilter</filter-name>
             <url-pattern>/*</url-pattern>
         </filter-mapping>
         <!-- SpringMVC控制器 -->
         <servlet>
             <servlet-name>dispatcherServlet</servlet-name>
             <!-- 主要就是DispatcherServlet这个servlet起到分发的作用,对请求进行控制分发 -->
             <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
             <init-param>
                 <!-- 每个springmvc项目都要一个springmvc项目配置位置,下面配置springmvc配置文件的路径 -->
                 <param-name>contextConfigLocation</param-name>
                 <param-value>classpath*:springMVC-servlet.xml</param-value>
             </init-param>
             <!-- 当容器启动时立即启动 -->
             <load-on-startup>1</load-on-startup>
         </servlet>
         <servlet-mapping>
             <servlet-name>dispatcherServlet</servlet-name>
             <!-- 下面配置springmvc的过滤分发请求类型,可以是/ 或者*.action等 -->
             <url-pattern>/</url-pattern>
         </servlet-mapping>
     </web-app>

9我的配置文件是springMVC-servlet.xml

放在resource路径下,别放错了

<?xml version="1.0" encoding="UTF-8"?>
     <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:context="http://www.springframework.org/schema/context"
            xmlns:mvc="http://www.springframework.org/schema/mvc"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
         <!-- 定义要扫描 controller的包-->
         <context:component-scan base-package="wormday.springmvc.helloworld" />
         <!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
         <!--指定视图解析器-->
         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
             <!-- 视图的路径 -->
             <property name="prefix" value="/WEB-INF/jsp/"/>
             <!-- 视图名称后缀  -->
             <property name="suffix" value=".jsp"/>
         </bean>
     </beans>

10做好这个配置以后,建立一个wormday.springmvc.helloworld包,然后建一个indexController类,这边你想叫什么

就是什么,别和我一样都可以

package wormday.springmvc.helloworld;
     import org.springframework.stereotype.Controller;
     import org.springframework.web.bind.annotation.RequestMapping;
     @Controller
     @RequestMapping("/test")  
     public class IndexController {
         @RequestMapping("/index")  
         public String say() {
             return "home";
         }

11然后在web-inf下面建立一个jsp文件夹,里面放一个home.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="ISO-8859-1"%>
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     <html>
     <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <title>Insert title here</title>
     </head>
     <body>
     <h1>nihaohao</h1>
     </body>
     </html>

随便写

12接下来就是配置我们的tomcat,

window--profrerences

添加一个tomcat,当然这个也是一个需要安装的,属于window上面安装tomcat

网上下载解压没那么多事,选中

13然后修改端口可以这里修改,避免端口占用

14紧接着就是点击我们的项目 右击--run as 启动服务

15最后运行结果,如果你最后没有创建成功,那不用找我,歌谣自己也琢磨三天。

相关文章
|
15天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
30 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
29天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
93 8
|
27天前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
66 3
|
2月前
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
39 1
Spring MVC——项目创建和建立请求连接
|
2月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
145 1
Maven——创建 Spring Boot项目
|
2月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
66 1
|
2月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
127 2
|
2月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
125 1
|
4月前
|
Java Maven
解决idea每次新建maven项目都需要重新配置maven的问题
解决idea每次新建maven项目都需要重新配置maven的问题
181 1
|
2月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
40 1
如何使用 maven 创建一个 Spring Boot项目