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最后运行结果,如果你最后没有创建成功,那不用找我,歌谣自己也琢磨三天。

相关文章
|
13天前
|
XML Java 项目管理
Maven的配置亲测有效
Maven的配置亲测有效
64 4
|
10天前
|
Java Maven
idea中maven项目pom文件Could not acquire lock(s)
idea中maven项目pom文件Could not acquire lock(s)
|
2天前
|
Java 项目管理 Maven
【揭秘】Maven聚合与继承:如何轻松实现项目依赖管理?
Maven的聚合和继承是Java开发中重要的概念。聚合允许将多个项目组合成一个构建单元,简化多模块项目的构建过程,提高构建效率。继承则让子项目重用父项目的配置和属性,避免了重复定义,增强了项目的一致性和可维护性。通过聚合和继承,Maven为多模块项目的构建和管理提供了高效且灵活的支持,减少了配置冗余,提升了开发效率。
【揭秘】Maven聚合与继承:如何轻松实现项目依赖管理?
|
2天前
|
Java Maven
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
27 0
|
3天前
|
Java Maven
Maven 项目文档
学习Maven项目文档创作,借助Doxia引擎将内容转化为通用模型。支持Apt(纯文本)、Xdoc(Maven 1.x格式)、FML(FAQ)和XHTML。
|
3天前
|
XML Java 测试技术
【你的Maven配置出错?看这个】
【你的Maven配置出错?看这个】
15 1
|
4天前
|
Java Apache Maven
Maven 项目文档Maven 项目文档
Maven使用Doxia引擎将多种格式(如Apt、Xdoc、FML和XHTML)转换为通用文档模型。在创建Maven项目文档时,例如在C:/MVN下创建consumerBanking项目,需运行指定的mvn archetype:generate命令。接着,更新pom.xml,确保包含maven-site-plugin和maven-project-info-reports-plugin的最新版本(至少3.3和2.7),以避免NoClassDefFoundError。执行`mvn site`命令生成文档。
|
4天前
|
Java Apache Maven
Maven 项目文档
本教程介绍如何创建 Maven 项目文档。在 C:/MVN 目录下,使用命令 `mvn archetype:generate` 创建 `consumerBanking` 项目。为解决运行 `mvn site` 时的 NoClassDefFoundError,需在 `pom.xml` 中添加并更新 `maven-site-plugin` 至版本 3.3。执行 `mvn site` 后,Maven 生成包括&quot;About&quot;, &quot;Issue Tracking&quot;等报告的文档。成功后,文档位于 `target/site/index.html`。
|
4天前
|
缓存 Java 关系型数据库
【超全详解】Maven工程配置与常见问题解决指南
检查Maven配置包括验证路径、设置pom.xml与Project Structure的Java版本。基本操作有`clean-compile`、`install`和`package`,其中`install`会将jar包放入本地仓库。获取他人工程后需修改配置、清除缓存、更新依赖等。配置文件应从Maven Repository找寻,选择稳定高版本。创建Maven工程可选archetype如`quickstart`或直接创建Java工程。基本目录结构遵循分层设计原则,常见问题包括假性导包、端口占用、时区问题等,对应解决方案包括删除本地仓库文件、调整系统设置或重新加载项目。
48 6
【超全详解】Maven工程配置与常见问题解决指南
|
6天前
|
Java Scala Maven
Maven 项目模板
Maven的`archetype`用于创建定制项目结构,即项目模板。通过`mvn archetype:generate`命令能快速生成如Java应用的项目。在命令行中执行该命令后,会列出多个远程模板选项供选择。用户可输入数字或应用过滤器,按Enter选择默认(203:maven-archetype-quickstart)来创建简单Java应用程序。