快速学习Maven构建项目(二)

本文详细介绍Maven构建项目的基础知识,包括Maven命令的生命周期、执行顺序、如何配置JDK版本及解决常见问题。同时,提供了Maven入门程序的步骤,如配置本地Maven、创建WEB-INF目录、修改编译级别等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

快速学习Maven构建项目(二)

4、Maven命令的生命周期:

  1. Clean  生命周期:clean
  2. Default  生命周期:compile、test-compile、test、package、install
  3. Site     生命周期:site命令,生成项目描述文档静态网页
  4. 不同生命周期的指令可以一起执行,例如先clean再compile

 

5、Maven命令的执行顺序:

a)  在相同生命周期中的命令才会受执行顺序的影响;

b)  Default生命周期中的命令执行顺序:

      compile <- test-compile <- test <- package <- install;

 

Part2.Maven入门程序

1、第一次使用要配置Maven,引用本地Maven,使用本地settings.xml配置文件。War包。最好选上create simple project

2、在src -> main -> webapp 下创建WEB-INF目录,并在目录下创建web.xml;

3、修改Maven默认编译级别:

      a)全局编译级别 -> 修改settings.xml

      b)项目级别修改 -> 项目对应的pom.xml

4、Java Resources -> src/main/java 下写代码,创建包和Servlet;

5、添加 servlet-api;

6、在servlet-api中添加scope标签,值为:proviede;

a)如果不加此标签有很大几率报错,因为tomcat中也有servlet-api的包导致冲突;

7、运行:发生错误,原因是maven默认使用tomcat6.xx,不支持@webServlet注解(tomcat7及以上才支持);

      a)  解决方案1:需要去web.xml中配置Servlet;

b)  解决方案2:配置高版本tomcat插件;

8、最后测试,启动服务,在地址栏输入请求,显示结果;

 

如何解决web.xml未找到的问题?

Webapp目录下新建一个WEB-INF文件夹,随便找一个web.xml复制进来。

或者右击项目名称 –> “Java EE Tools” –> “Generate Deployment Descriptor Stub”;

 

 

 

 

 

 

 

 

 

 

如何修改JDK版本?

Pom.xml中添加如下文件:

      <build>

      <plugins>   <!-- 插件列表-->

           <plugin> <!-- 通过坐标获取插件-->

                 <groupId>org.apache.maven.plugins</groupId>

                 <artifactId>maven-compiler-plugin</artifactId>

                 <version>3.8.0</version>

                 <configuration>

                      <source>1.8</source>    <!-- 设置JDK版本-->

                      <target>1.8</target>

                      <encoding>UTF-8</encoding>

                 </configuration>

           </plugin>

      </plugins>

</build>

 

 

 

 

 

 

<dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>4.11</version>

      <scope>test</scope>

    </dependency>

          <dependency>

      <groupId>javax.servlet</groupId>     <!--相当于tomcat-->

      <artifactId>servlet-api</artifactId>

      <version>2.5</version>

      <scope>provided</scope>

    </dependency>

          <dependency>

      <groupId>javax.servlet</groupId>

      <artifactId>jsp-api</artifactId>

      <version>2.0</version>

      <scope>provided</scope>

    </dependency>

      </dependencies>

 

Eclipse中Maven项目pom.xml文件没有错,但一直有红叉的解决办法

  1. 鼠标右击maven项目,选择Maven,在弹出的界面中点击Update Project
  2. 在弹出的界面中勾选Force Update of Snapshots/Releases进行强制更新

 

手动添加插件和依赖,配置tomcat7插件(默认:tomcat6)

  1. 创建一个简单的maven工程
  2. 在console中添加Maven Repositories(Maven仓库)
  3. 在maven仓库中选择Local Respository 右键Rebuild Index(生成索引),第一次比较慢
  4. Pom.xml中右键Maven -> add Plugin(插件), 在Enter groupId or ...添加compile,选择下面的3.8.0 (此步添加编译插件) ,在plugin中添加<configuration> <source>1.8</ source> <target>1.8</ target><encoding>UTF-8</encoding></configuration>
  5. 重复第4步,搜索servlet,添加org.apache.tomcat tomcat-servlet-api 7.x.x jar 设置<scope>provided</scope>
  6. 也可以在下方的dependencies中添加jsp(版本同tomcat)和junit(4.9)的依赖。jsp设置<scope>provided</scope>
  7. 添加tomcat 7插件:第一次先到tomcat官网,查看maven tomcat,2013年更新的就是最新的了,复制<plugin>里2.2版本的那段到tomcat即可
  8. Run as -> Build Maven... -> tomcat7:run  组合命令 clean tomcat7:run
  9. 在tomcat7-maven-plugin的config设置中,可以设置端口号:<port>8081</port> 路径:<path>/...</path>
  10. 第一次运行后可以选择run as -> Build Maven从里面选以前执行过的命令

 

想添加本地仓库中没有的包怎么办?

方法:

      打开maven.aliyun.com/mvn/search寻找

然后ctrl + F寻找,点击复制maven依赖

 

 

 

 

 

 

 

Scope作用域(依赖范围)

Maven中的依赖,会根据程序所处的阶段和场景发生变化,所以maven用scope属性来做限制;

  1. Compile(默认值):在编译、运行、测试、打包时都有效
  2. Provided:编译、测试时有效,运行、打包无效;
  3. Test:仅在测试时有效;(一般Junit 作用域添加test)
  4. Runtime:测试、运行、打包时有效
  5. System:不推荐使用,使用system作用域时不会去本地仓库寻找依赖,要指定本地路径;

 

Maven 3.5.4和tomcat 7 热部署

热部署:在tomcat运行时将项目部署上去;

  1. 开启tomcat热部署:
  1. 修改tomcat -> conf -> tomcat-users.xml配置文件;
  2. 在tomcat-users标签中添加以下代码:

<role rolename="manager"/>  

   <role rolename="manager-gui"/>  

   <role rolename="manager-script" />

   <user username="admin" password="admin" roles="manager,manager-gui,manager-script"/>

  1. 启动tomcat;
  2. 修改项目中pom.xml,在tomcat7的插件上添加以下代码:

 <configuration>

      <url>http://localhost:8080/manager/text</ url >   

      <username>sunyong</ username >

      <password>572739652</ password >

        </configuration>

  1. 右键项目 -> run as -> maven build... 在goals中使用tomcat7:deploy   或者 tomcat7:redeploy来进行热部署;tomcat7:deploy   第一次部署时使用

tomcat7:redeploy 非第一次部署时使用

  1. 部署完毕,打开浏览器测试;

 

eclipse启动tomcat后localhost:8080无法访问问题/maven热部署403错误

https://blog.youkuaiyun.com/new_clumsybird/article/details/51881754

https://www.cnblogs.com/DarrenChan/p/6858661.html

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值