我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Maven工程开发

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Maven工程开发

目录

一、Maven工程开发_构建Maven工程

二、Maven工程开发_pom文件配置

三、Maven工程开发_编写代码

四、Maven工程开发_依赖范围


一、Maven工程开发_构建Maven工程

接下来我们构建一个Maven的Web工程:

打开 idea,选择创建一个新工程 

 

选择Maven工程,并使用maven的web工程模板

 

点击 Next 填写项目信息(所谓的公司名其实就是前两个包的包名)

点击 Next,此处不做改动,点击Finish构建项目

 

手动添加class="lazy" data-src/main/java目录,此时该目录还不能写Java代码。

将class="lazy" data-src/main/java目录设置为Java代码目录。

二、Maven工程开发_pom文件配置

pom文件最上方是项目基本信息:

 

groupId

groupId一般定义项目组名,命名规则使用反向域名。例如com.itbaizhan

artifactId

artifactId一般定义项目名,命名使用小写字母。项目发布后,它的坐标是groupId+artifactId。

version

version定义版本号。版本号一般有三段,第一段:革命性的产品升级。第二段:新功能版本。第三段:修正一些bug。

packaging

packaging定义打包方式。

中定义一些配置信息:

 

中定义依赖的jar包坐标:

由于项目是web项目,需要写Servlet和JSP,所以需要引入Servlet和JSP的依赖。查找依赖坐标的网站:https://mvnrepository.com/

 

  

    junit

    junit

    4.11

    test

  

  

  

    javax.servlet.jsp

jsp-api

    2.2

  

  

  

    javax.servlet

    javax.servlet-api

    3.0.1

  

为什么之前的web项目中没有引入jsp和servlet的jar包?

因为之前项目中使用的是tomcat中的jsp和servlet中的jar包,在项目中没有引入。

中定义第三方插件:

web项目依赖tomcat运行,所以添加tomcat7插件

  

  

    org.apache.tomcat.maven

    tomcat7-maven-plugin

    2.1

    

      8080

      /

      UTF-8

      tomcat7

    

  

三、Maven工程开发_编写代码

接下来编写Servlet和Jsp代码:

@WebServlet("/demo1")

public class MyServlet extends HttpServlet {

  @Override

  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    req.getRequestDispatcher("hello.jsp").forward(req,resp);

   }

}

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  

    测试

  

  

    

你好,大学牲!

  

运行项目,按照如图步骤,配置使用maven中的tomcat7插件运行项目:

 

 点击OK后配置完成,点击Idea的运行符号即可使用maven中的tomcat7插件运行项目。

Maven使用tomcat7运行项目的命令为:tomcat7:run

四、Maven工程开发_依赖范围

访问servlet后,发现报500异常,这是为什么呢?

 

这是由于项目中引入了Servlet和Jsp的jar包,而在项目运行时,Tomcat要使用它自带的Servlet和Jsp的jar包,这样就造成了jar包冲突。但如果项目不引入Servlet和Jsp的jar包,则根本无法通过编译。

此时可以设置依赖的作用范围解决该问题,设置Servlet和Jsp的jar包只在编译期起作用,运行时不起作用,这样不仅可以通过编译,还能在运行时避免jar包冲突。

通过在中添加,可以设置依赖的作用范围,有以下取值:

compile

默认范围。表示该依赖在编译和运行时生效,项目打包时也会将该依赖打包进去。

provided

使用此依赖范围的Maven依赖,编译和测试时有效,但在运行时无效。典型的例子是servlet-api,在运行时Web容器已经提供依赖,就不需要Maven重复地引入一遍。

runtime

runtime范围表明编译时不需要生效,而只在运行时生效。典型的例子是JDBC驱动包,编译时只需要JDK的JDBC接口即可,只有运行项目时才需要具体的JDBC驱动。

test

test范围表明使用此依赖范围的依赖,只在编译和运行测试代码的时生效,程序的正常运行不需要此类依赖。典型的例子就是JUnit,它只有在编译测试代码及运行测试的时候才需要。

system

如果有些你依赖的jar包没有Maven坐标的,它完全不在Maven体系中,这时候你可以把它下载到本地硬盘,然后通过system来引用。(不推荐使用)

  • 所以对于Servlet和Jsp依赖,我们添加依赖范围为provided即可。

  javax.servlet.jsp

  jsp-api

  2.2

  provided

  javax.servlet

  javax.servlet-api

  3.0.1

  provided>

重启项目,即可正常访问Servlet和Jsp。

所以,你们学废了吗?

 分享一下我最喜欢的星空图!!!

来源地址:https://blog.csdn.net/qq_53317005/article/details/127848003

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Maven工程开发

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

下载Word文档

猜你喜欢

Java开发工具Maven怎么用

这篇文章给大家分享的是有关Java开发工具Maven怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Maven如果作为一个Java程序员,那么在日常的开发过程中,maven是很常见的项目构建工具。maven可
2023-06-15

Java之Maven工程打包jar

Maven打包一般可以生成两种包一种是可以直接运行的包,一种是依赖包(只是编译包)。Maven默认打包时jar,如果需要修改其他类型,可以修改pom.xml。感兴趣的同学可以参考阅读
2023-05-14

Maven聚合开发实例详解

这篇文章主要介绍了Maven聚合开发实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-20

CMS插件开发 工具和资源:加速开发进程

CMS插件开发工具和资源:加速开发进程
CMS插件开发 工具和资源:加速开发进程
2024-02-15

如何在idea中导入maven工程

如何在idea中导入maven工程?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。第一种导入项目的方法第二种导入项目的方法第三种导入项目的方法看完上述内容是否对您
2023-06-14

python开发工程师招聘要求

##python开发工程师+ python爬虫工程师负责大规模文本、图像等数据的抓取、结构化信息的提取、质量识别等工作。1. 开发分布式网络爬虫2. 提取结构化信息3. 识别结构化信息的质量岗位要求:1. 熟悉 Linux 开发环境,熟练使
2023-01-31

Maven聚合开发的方法是什么

这篇文章主要介绍“Maven聚合开发的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Maven聚合开发的方法是什么”文章能帮助大家解决问题。一、Maven聚合开发_继承关系
2023-07-05

python开发工具

工欲善其事必先利其器-简单几步打造顺手的python开发工具(windows,Linux多版本)初学一门语言,一般来说第一道门槛是开发工具的选择,以及配置,用记事本写代码写写helloworld尚堪一用,但是一旦需要进行稍微规模大一点的开发
2023-01-31

Java Maven:构建神器,打造开发乐园

Java Maven作为一项先进的构建工具,在开发和维护Java项目时提供无与伦比的便利。通过简化依赖管理、自动化构建过程和促进协作,Maven为软件工程师打造了一个开发乐园。
Java Maven:构建神器,打造开发乐园
2024-03-06

如何做云服务器开发工程师工作

云服务器开发工程师是一个广泛的职业,具有多种技能和经验,以下是一些可能有助于成为云服务器开发工程师的基本步骤:确定所需的技能和技能组合:在开始学习云服务器开发之前,必须确定你需要掌握哪些技能和知识。这可以通过查阅云服务器开发文档,参加相关技术培训和课程来完成。学习基础编程:基础编程是云服务器开发的基础。你可以通过学习Java或Python等编程语言,掌握基本的云服务器开发概念和技术。研究
2023-10-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录