c 网站开发 简单例子,怎样在局域网做网站,网页浏览器主要通过ftp协议同网页服务器,为什么会有人攻击我用织梦做的网站一.Maven简介
Maven的产生主要是为了解决Java项目中的两个问题#xff1a; 1.依赖管理#xff1a; 传统 Java 项目在引入第三方库时#xff0c;需要手动下载 JAR 包并维护复杂的依赖关系。Maven 提供了统一的依赖管理机制#xff0c;通过简单的配置即可自动从仓库下载并引…一.Maven简介
Maven的产生主要是为了解决Java项目中的两个问题 1.依赖管理 传统 Java 项目在引入第三方库时需要手动下载 JAR 包并维护复杂的依赖关系。Maven 提供了统一的依赖管理机制通过简单的配置即可自动从仓库下载并引入所需的依赖同时还能解决版本冲突问题。 2.项目构建 Java 项目的构建过程通常包括编译源代码.java为字节码.class、打包成 JAR 文件等多个步骤。Maven 提供了标准的构建生命周期和插件系统使得整个构建过程自动化、规范化极大地提高了开发效率。
Maven仓库的概念
Maven的仓库分为本地仓库、私服仓库、中央仓库 本地仓库就是PC上保留的jar文件 私服仓库一般是公司内部的可以上传自主开发的jar文件到私服仓库便于日后开发 中央仓库是Maven官方维护的。
二.Maven的核心配置
在maven的conf文件夹下面有一个settings.xml文件 {user.home}表示当前用户的家目录我的用户是admin所以进入admin就可以查看到 我们在下面再添加一行就可以切换保存的目录了
另外一个需要配置的地方就是镜像由于中央仓库是在国外的所以有时候访问会慢很多我们可以配置国内镜像
mirroridaliyunmaven/idmirrorOf*/mirrorOfnamealiyunmaven/nameurlhttps://maven.aliyun.com/repository/public/url
/mirror接下来是配置Maven的jdk版本
profileidjdk-17/idactivationactiveByDefaulttrue/activeByDefaultjdk17/jdk/activationpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetmaven.compiler.compilerVersion17/maven.compiler.compilerVersion/properties
/profile指定使用 Maven 构建出来的项目默认使用的 JDK 版本为 17。
三.在IDEA中配置Maven
选择新建一个Maven项目 archetype里选择快速开始构建 创建完后下面这个就是maven项目的一个基本结构 然后我们还需要去配置一下Maven因为IDEA里面的Maven一般是它自带的我们需要把我们自己的Maven给导入进来 这里选择刚才修改的Maven配置文件 然后点OK即可
四.Maven的生命周期和插件 validate是用来验证pom.xml写的是否正确执行一下显示成功了 但是如果我注释掉一行呢 就会出现报错说我们缺少了groupid
compile进行编译生成字节码文件 test会把项目中的test用例都给执行一遍 package把项目打包成jar或者war文件还会先执行compile和test verify检查生成的jar包是否正确是否符合标准 install把生成的jar包导入到本地仓库导入maven deploy把生成的jar包导入私服仓库
五.Maven的坐标
1. groupID 一般是公司或组织的唯一标识 2. artifactID 一般是项目的唯一标识 3.version 版本号
六.依赖管理
6.1 依赖范围
除了上面说到的3个依赖标签还有一个scope标签 它用来知道依赖的范围 一般来说有compile是编译和运行时需要的默认是这个可以省略不写 provided 编译时需要运行时不需要 runtime 运行时需要编译时不需要 test 只是在测试的时候需要不会被打包到jar文件中 system从本地仓库查找需要加上systemPath带上路径
scopesystem/scopesystemPath${basedir}/lib/junit-3.8.2.jar/systemPath6.2 依赖冲突
比如我们在项目中添加了两个不同的依赖他们又依赖了不同版本的同一个jar包的话就会出现依赖冲突到底应该使用哪一个jar包 有两个原则 1.路径最短 2.pom.xml优先使用最先声明的
七.父子工程
使用情境 在实际开发中会把一个大项目拆分成多个小项目比方说用户管理商品管理等等但是如果每一个模块都需要重新配置一遍依赖就会很麻烦。 但是我们观察发现像springmybatis几乎每个模块都会用到。我们就可以通过父子工程来管理这些依赖
我们先新建一个maven-parent 把这里改成pom表示最后不是生成jar文件而是用来管理 然后把这个项目的SRC文件也给删掉在这里用不到 随后右键maven-parent选择新建一个模块 可以看到这里child-a的pom.xml多了一个parent标签 而父工程的pom.xml多了modules模块