农村pc网站开发,wordpress页面突然不能访问,网站架构模式用哪种,wordpress主题 下单前言
Maven 是一个项目管理工具#xff0c;可以对 Java 项目进行构建、依赖管理。
基本要求掌握
配置Maven环境直接查。
得会在IDEA创建Maven的java项目吧、会创建Maven的web项目吧、会创建多模块项目吧。
得会配置插件pligin、依赖dependency吧
一、Maven四大特性
1、…前言
Maven 是一个项目管理工具可以对 Java 项目进行构建、依赖管理。
基本要求掌握
配置Maven环境直接查。
得会在IDEA创建Maven的java项目吧、会创建Maven的web项目吧、会创建多模块项目吧。
得会配置插件pligin、依赖dependency吧
一、Maven四大特性
1、依赖管理系统
由于写项目需要导入非常多jar包由于版本依赖需要下载指定版本并且需要后续升级版本手动麻烦
操作在配置文件内写好jar包的仓库路径、名称、版本他会自动把所有指定的jar包下载好。
dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/version
/dependency坐标属性
groupId: 定义实际项目-公司名称jar包所在仓库路径
artifactId定义Maven模块-项目名
version定义版本。
2、多模块构建
在 Maven 中需要定义一个 parent POM 作为一组 module 的聚合 POM。 在该 POM 中可用 modules 标签定义一组子模块。 parent POM 中的 build 配置以及依赖配置都会自动继承给子模块。
3、统一的项目结构 不同IDE项目结构不同但是只要是Maven管理的项目项目结构一致避免不同IDE打开产生错误。
4、统一的构建模型和插件机制
通过插件(plugin)形式引入服务器
plugin groupIdorg.mortbay.jetty/groupIdartifactIdmaven-jetty-plugin/artifactIdversion6.1.25/versionconfigurationscanIntervalSeconds10/scanIntervalSecondscontextPath/test/contextPath/configuration
/plugin二、Maven环境变量配置
mvn -v查看Maven版本如果没有配置上网看教程安装配置maven环境变量(Mac版)_ElenaYu的博客-CSDN博客
1、下载压缩包到自己选定的文件夹
2、设置镜像源、指定jar包仓库路径
3、编辑环境变量配置文件 重启。成功 三、IDEA集成Maven环境
注意要全局配置Maven环境。如果仅仅是局部配置仅针对当前项目新项目仍需重新配置。 ① 你的 maven 安装目录。 ② 你的 maven setting.xml 文件 ③ 你的 maven 仓库所有下载的 jar 包都会缓存到这个文件夹。
四、Maven创建Java项目
1、创建new project 选择Maven 2、自定义项目名及目录名 3、项目存储信息核对 显示出src目录结构需要等待一段时间。
4、往pom.xml文件写入配置信息 5、手动创建目录并标记
手动创建resources 【directory目录】 此时此目录为普通目录。 Mark标记为resources root让Maven识别为资源目录 6、使用Maven命令处理项目
如编译、打包为jar包供其他项目使用 五、Maven创建Web项目
与创建Java项目类似。
1、创建new project 选择模板 2、自定义项目名、目录名 3、项目存储信息核对 4、修改pom.xml配置信息 Webapp目录存放资源 jsp页面 html页面等。 1、删除插件管理
以下内容直接删除
pluginManagementpluginsplugin/plugin
.../plugins
/pluginManagement 2、添加服务器插件配置信息
普通Java项目只需要打包 或者编译就可以Web项目需要看见页面需要服务器支持有jetty 和 Tomcat俩类任选一。使用服务器要去其官网下载对应的Maven插件将服务器的插件配置文件粘贴上。
五、Maven仓库
常下载的文件jar包 插件
分类 远程仓库 中央仓库https://mvnrepository.com/ 、私服、其他公共库 本地仓库
Maven根据坐标寻找构件时首先查看本地仓库有就用没有就远程仓库查找下载到本地仓库。
私服也就是本局域网内的镜像源。
六、Maven环境下构建多模块项目
作用精简化项目
创建Java项目注意勾选SDK版本
1、创建父模块与子模块
1、创建maven_parent模块 2、创建maven_dao模块
1、在maven_parent基础上创建模块 2、选择模板 3、创建maven_service模块 与创建maven_dao模块一模一样
4、创建maven_controller模块
与创建maven_dao模块只有一个区别在选择模版时选择Webapp
2、设置模块配置文件
设置jdk版本1.8、单元测试junit版本、删除多余配置pluginManagement插件管理所有内容
3、设置模块之间的依赖
controller模块要依赖service模块service模块要依赖dao模块。即controller要调用service内方法service要调用dao内方法。
对应的操作就是在service配置文件中添加dao的dependency 在controller配置文件中添加service的dependency
!--Web层要创建servlet 引入servlet的API-- 在mvn仓库搜索servlet版本就可以找到对应的dependencymaven_controller模块里面是Webapp模块需要手动创建Java包并定义为source root 才可以创建类 七、Maven的打包操作
jar包Java项目的压缩包 war包Web项目的压缩包
通过pom.xml配置方式实现打包时的环境选择。
1、添加对应的目录结构 1、web项目一般无java文件夹手动添加并标记 2、手动添加sources目录并标记、并添加配置文件 2、在pom.xml配置文件中添加Profile配置 3、添加资源文件配置
添加到pom.xml的build标签内 4、执行打包操作 -P指定要打包的profile的id
skip表示跳过测试的打包
八、Maven依赖的基本概念
1、格式举例
dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope
/dependency
2、三个元素
1、依赖的基本坐标groupId, artifactId, versionMaven根据坐标才能找到需要的依赖
2、依赖的类型Type 大部分情况下不需要声明。 默认值为jar
3、依赖的范围Scope compile,test,provided,runtime,system
4. Optional标记依赖是否可选
5. Exclusions 用来排除传递性依赖。
*compile: 编译依赖范围。
若无指定则默认使用该依赖范围。使用此依赖范围的Maven依赖对于编译、测试、运行三种classpath都有效。
*test: 测试依赖范围。
使用此依赖范围的Maven依赖只对于测试classpath有效在编译主代码或运行项目的使用时将无法使用此类依赖。典型的例子就是JUnit它只有在编译测试代码及运行测试的时候才需要。
*provided: 已提供依赖范围。 使用此依赖范围的Maven依赖对于编译和测试classpath有效但在运行时无效。例servlet-api编译和测试项目的时候需要该依赖但在运行项目的时候由于容器已经提供就不需要Maven重复地引入一遍(如servlet-api)
*runtime: 运行时依赖范围。
使用此依赖范围的Maven依赖对于测试和运行classpath有效编译主代码时无效。例JDBC驱动实现项目主代码的编译只需要JDK提供的JDBC接口只有在执行测试或运行项目的时候才需要实现上述接口的具体JDBC驱动。
*system: 系统依赖范围。 该依赖与三种classpath的关系和provided依赖范围完全一致。但使用system范围依赖时必须通过systemPath元素显式地指定依赖文件的路径。由于此类依赖不是通过Maven仓库解析的而且往往与本机系统绑定可能造成构建的不可移植因此应该谨慎使用。
3、传递性依赖 传递依赖机制 让我们在使用某个jar的时候就不用去考虑它依赖了什么。也不用担心引入多余的依赖。 Maven会解析各个直接依赖的POM将那些必要的间接依赖以传递性依赖的形式引入到当前项目中。
注意 传递依赖有可能产生冲突
A -- B -- C (2.0)
A -- E -- C (1.0)
如果A下同时存在两个不同version的C冲突
使用exclusions标签选取同时适合A、B的版本 dependencies dependency groupIdA/groupId artifactIdA/artifactId versionxxx/version exclusions exclusion groupIdC/groupId artifactIdC/artifactId/exclusion /exclusions /dependencydependency groupIdB/groupId artifactIdB/artifactId /dependency
/dependencies
这里的exclusions exclusion groupIdC/groupId artifactIdC/artifactId/exclusion /exclusions 来排除冲突的 结尾常见错误
1、pom.xml配置文件爆红解决
原因依赖包下载不了
IDEA中Maven依赖包下载不了的问题解决方案汇总_idea maven包下载不下来_谜一样的码农的博客-CSDN博客
2、Cannot resolve symbol ‘HttpServlet‘
手动添加jar包
Cannot resolve symbol ‘HttpServlet‘_DarkYoung•的博客-CSDN博客