当前位置: 首页 > news >正文

建网站有什么要注意的拓者设计室内设计官网首页

建网站有什么要注意的,拓者设计室内设计官网首页,施工企业岗位证书有哪些,企业网站的建立网络虚拟社区时对于企业一、Maven简介 Maven 是一个基于项目对象模型#xff08;Project Object Model#xff09;的构建工具#xff0c;用于管理 Java 项目的依赖、构建流程和文档生成。它的核心功能包括#xff1a; 依赖管理(Dependency Management)#xff1a;自动下载和管理第三方库#x…一、Maven简介 Maven 是一个基于项目对象模型Project Object Model的构建工具用于管理 Java 项目的依赖、构建流程和文档生成。它的核心功能包括 依赖管理(Dependency Management)自动下载和管理第三方库JAR 文件。标准化项目结构统一项目目录布局。构建生命周期(Project Lifecycle)提供编译、测试、打包、部署等标准化流程。插件系统支持扩展功能如代码检查、生成报告。 1. 依赖管理 ① jar包的规模 ② jar包的来源: 使用 Maven 之后jar 包会从规范的远程仓库下载到本地 ③ jar包之间的依赖关系: 通过依赖的传递性自动完成 2. 标准化项目结构 约定优于配置Convention Over Configuration 目录说明src/main/java主代码目录src/main/resources资源文件目录src/test/java测试代码目录src/test/resources测试使用的资源文件目录pom.xml项目配置文件target输出目录 3. 构建生命周期 清理删除上一次构建的结果为下一次构建做好准备编译Java 源程序编译成 *.class 字节码文件测试运行提前准备好的测试程序报告针对刚才测试的结果生成一个全面的信息打包 Java工程jar包Web工程war包 安装把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库部署 部署 jar 包把一个 jar 包部署到 Nexus 私服服务器上部署 war 包借助相关 Maven 插件例如 cargo将 war 包部署到 Tomcat 服务器上 4. 插件系统 Maven 的核心设计理念是“约定优于配置”其功能实现高度依赖插件系统。Maven 插件是扩展 Maven 功能的工具每个插件包含一组 目标Goals用于执行特定任务如编译代码、打包、部署等。 核心特点 生命周期绑定插件目标Goals与 Maven 的生命周期阶段Phase绑定。高度可扩展支持自定义插件或使用第三方插件。配置灵活通过 POM 文件或命令行参数控制插件行为。 二、安装配置 1. 安装 Java Maven 依赖 Java 环境请先安装 JDK 8 并配置 JAVA_HOME。 2. 下载 Maven 官网下载地址https://maven.apache.org/download.cgi选择二进制包如 apache-maven-3.x.x-bin.zip。 3. 配置环境变量 M2_HOMEPATH将Maven的bin目录添加到PATH环境变量 4. 配置(conf/settings.xml) 指定本地仓库 !-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository localRepository/path/to/local/repo/localRepository -- localRepositoryD:\maven-repo/localRepository配置阿里云提供的镜像仓库 !-- 阿里云镜像 -- mirroridaliyunmaven/idname阿里云公共仓库/nameurlhttps://maven.aliyun.com/repository/public/url!-- 匹配所有仓库请求 --mirrorOf*/mirrorOf /mirror配置 Maven 工程的基础 JDK 版本 profileidjdk-1.8/idactivationactiveByDefaulttrue/activeByDefaultjdk1.8/jdk/activationpropertiesmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetmaven.compiler.compilerVersion1.8/maven.compiler.compilerVersion/properties /profile5. IDEA集成Maven环境 配置Maven信息 三、Maven基本命令 1. 创建项目 mvn archetype:generate -DgroupIdcom.example -DartifactIdmy-first-app -DarchetypeArtifactIdmaven-archetype-quickstart -DinteractiveModefalsegroupId: 组织标识如公司域名倒写。artifactId: 项目名称生成的项目目录名。archetypeArtifactId指定项目模板。 生成的标准目录结构如下 my-first-app/ ├── src/ │ ├── main/ │ │ └── java/ # 主代码目录 │ └── test/ │ └── java/ # 测试代码目录 ├── pom.xml # 项目配置文件2. 项目对象模型(POM) project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.example/groupIdartifactIdmy-first-app/artifactId!-- 当前Maven工程的打包方式可选值有下面三种 --!-- jar表示这个工程是一个Java工程 --!-- war表示这个工程是一个Web工程 --!-- pom表示这个工程是“管理其他工程”的工程 --packagingjar/packagingversion1.0-SNAPSHOT/versionnamemy-first-app/nameurlhttp://maven.apache.org/urldependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependency/dependencies /project更详细的pom文件,可以运行下面的命令获取 mvn help:effective-pom3. 常用命令 命令功能说明mvn clean清理 target 目录删除编译结果mvn compile编译主代码 主体程序编译结果存放的目录target/classesmvn test-compile编译测试代码测试程序编译结果存放的目录target/test-classesmvn test运行测试代码测试的报告存放的目录target/surefire-reportsmvn package打包项目生成 JAR/WAR 文件存放的目录targetmvn install将项目安装到本地仓库mvn deploy部署到远程仓库需配置mvn site生成项目报告网站 完整构建流程命令mvn clean package会依次执行 clean→compile→test→package。 四、核心概念 1. 坐标 groupId公司或组织的 id公司或组织域名的倒序 artifactId一个项目或者是项目中的一个模块的 id version版本号 例如SNAPSHOT 表示快照版本正在迭代过程中不稳定的版本 例如RELEASE 表示正式版本 scope依赖的范围 compile默认的scope。任何定义在compile scope下的依赖将会在所有的class paths下可用。maven工程会将其打包到最终的artifact中。如果你构建一个WAR类型的artifact那么在compile scope下引用的JAR文件将会被集成到WAR文件内。 provided这个scope假定对应的依赖会由运行这个应用的JDK或者容器来提供。最好的例子就是servlet API。任何在provided scope下定义的依赖在构建时的类路径里是可用的但是不会被打包到最终的artifact中。如果是一个WAR的文件servlet API在构建时的类路径里是可用的但是并不会被打包到WAR文件中。 runtime在runtime scope下定义的依赖只会在运行期可用而在构建期的类路径下不可用。这些依赖将会被打包到最终的artifact中。比如你有一个基于web的应用需要在运行时访问MySQL数据库。你的代码没有任何MySQL数据库驱动的硬依赖。你的代码仅仅是基于JDBC API来编写在构建期并不需要MySQL数据库驱动。然而在运行期就需要相应的驱动来操作MySQL数据库了。因此这个驱动应该被打包到最终的artifact中。 test只用于测试变异的依赖比如JUnitexecution必须定义在test scope下。这些依赖不会被打包到最终的artifact中。 system于provided scope很像。唯一的区别在于在system scope中你需要告诉Maven如何去找到这个依赖。如果你要引用的依赖在Maven仓库中不存在时就可以用这个scope。不推荐使用system依赖。 import从其它的pom文件中导入依赖设置 2. 生命周期 所谓lifecycle可以理解为可以执行一组命令的集合用来执行具体的某些操作。 Maven默认有三种lifecycledefaultclean和site。default主要用来处理项目的开发clean主要用来负责项目的清理site主要用来生成项目的文档。 lifecycle是由一个或者多个phase组成的。 以default为例它大概由23个phases组成这些phases将会按顺序执行来完成default的lifecycle validate: 验证项目是否正确以及所有为了完整构建必要的信息是否可用generate-sources: 生成所有需要包含在编译过程中的源代码process-sources: 处理源代码比如过滤一些值generate-resources: 生成所有需要包含在打包过程中的资源文件process-resources: 复制并处理资源文件至目标目录准备打包compile: 编译项目的源代码process-classes: 后处理编译生成的文件例如对Java类进行字节码增强bytecode enhancementgenerate-test-sources: 生成所有包含在测试编译过程中的测试源码process-test-sources: 处理测试源码比如过滤一些值generate-test-resources: 生成测试需要的资源文件process-test-resources: 复制并处理测试资源文件至测试目标目录test-compile: 编译测试源码至测试目标目录test:使用合适的单元测试框架运行测试。这些测试应该不需要代码被打包或发布prepare-package: 在真正的打包之前执行一些准备打包必要的操作。这通常会产生一个包的展开的处理过的版本将会在Maven 2.1中实现package: 将编译好的代码打包成可分发的格式如JARWAR或者EARpre-integration-test: 执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境integration-test: 如果有必要的话处理包并发布至集成测试可以运行的环境post-integration-test: 执行一些在集成测试运行之后需要的动作。如清理集成测试环境。verify: 执行所有检查验证包是有效的符合质量规范install: 安装包至本地仓库以备本地的其它项目作为依赖使用deploy: 复制最终的包至远程仓库共享给其它开发人员和项目通常和一次正式的发布相关 3. mvn package目标执行顺序 resources:resources Resources插件的resources目标绑定到了resources 阶段。这个目标复制src/main/resources下的所有资源和其它任何配置的资源目录到输出目录。compiler:compile Compiler插件的compile目标绑定到了compile 阶段。这个目标编译src/main/java下的所有源代码和其他任何配置的资源目录到输出目录。resources:testResources Resources插件的testResources目标绑定到了test-resources 阶段。这个目标复制src/test/resources下的所有资源和其它任何的配置的测试资源目录到测试输出目录。compiler:testCompile Compiler插件的testCompile目标绑定到了test-compile 阶段。这个目标编译src/test/java下的测试用例和其它任何的配置的测试资源目录到测试输出目录。surefire:test Surefire插件的test目标绑定到了test 阶段。这个目标运行所有的测试并且创建那些捕捉详细测试结果的输出文件。默认情况下如果有测试失败这个目标会终止。jar:jar Jar插件的jar目标绑定到了package 阶段。这个目标把输出目录打包成JAR文件。 五、常见问题 1. 依赖下载失败 现象执行 mvn install 时出现 Could not resolve dependencies 错误。 原因: 网络问题或仓库配置错误; 依赖版本不存在; 本地仓库缓存损坏 解决办法: 1检查仓库配置 确认 settings.xml 中镜像如阿里云配置正确参考之前的配置方法。 2清理本地仓库缓存 # 删除所有未下载完成的临时文件 mvn dependency:purge-local-repository # 或手动删除本地仓库中的相关依赖目录路径~/.m2/repository/3手动下载依赖* 访问仓库地址如 Maven Central 或阿里云仓库确认依赖是否存在。 2. 依赖冲突版本冲突 现象运行时出现 NoSuchMethodError 或 ClassNotFoundException。 解决办法 1分析依赖树 mvn dependency:tree -DincludesgroupId:artifactId输出示例 [INFO] com.example:project:jar:1.0 [INFO] - org.slf4j:slf4j-api:jar:1.7.30:compile [INFO] \- ch.qos.logback:logback-classic:jar:1.2.3:compile [INFO] \- ch.qos.logback:logback-core:jar:1.2.3:compile 2排除冲突依赖 在 pom.xml 中排除特定传递依赖 dependencygroupIdorg.example/groupIdartifactIdexample-lib/artifactIdversion1.0/versionexclusionsexclusiongroupIdconflict-group/groupIdartifactIdconflict-artifact/artifactId/exclusion/exclusions /dependency3. 插件执行失败 现象提示 Plugin execution failed 或 No plugin found。 解决办法 1更新插件版本 在 pom.xml 中显式指定插件版本 buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.11.0/version/plugin/plugins /build2检查插件配置 确认插件的 configuration 参数是否正确如 JDK 版本。 4. 资源文件未生效 现象src/main/resources 中的配置文件未被打包或变量未替换。 解决办法 1启用资源过滤 在 pom.xml 中配置资源目录和过滤 buildresourcesresourcedirectorysrc/main/resources/directoryfilteringtrue/filtering !-- 启用变量替换 --/resource/resources /build2检查文件路径 确保资源文件位于正确目录未被 .gitignore 或 .mvnignore 排除。 5. 多模块项目问题 现象父模块与子模块依赖不继承或构建顺序错误。 解决办法 1正确声明父模块 子模块的 pom.xml 中需指定父模块 parentgroupIdcom.example/groupIdartifactIdparent-project/artifactIdversion1.0/versionrelativePath../pom.xml/relativePath !-- 父模块路径 -- /parent2统一管理依赖版本 在父模块的 dependencyManagement 中定义公共依赖版本。 6.本地仓库缓存问题 现象依赖已更新但本地构建仍使用旧版本。 解决办法 1清理本地仓库 mvn dependency:purge-local-repository2强制更新 SNAPSHOT 版本 mvn clean install -U7. 版本号问题SNAPSHOT vs RELEASE 现象SNAPSHOT 版本未更新到最新。 解决办法 SNAPSHOT 版本Maven 默认每天检查一次更新可通过 -U 强制更新 mvn clean install -URELEASE 版本版本号固定需手动升级。 8. 其他常见错误 错误提示可能原因解决方案Project build error: Non-resolvable parent POM父模块未正确声明或仓库中不存在检查父模块的 relativePath 或手动安装父模块到本地仓库Invalid JDK version in projectJDK 版本不匹配在 pom.xml 中配置 maven-compiler-plugin 的 source 和 targetFailed to read artifact descriptor依赖的 POM 文件损坏或缺失删除本地仓库中的依赖目录重新下载 9. 常用排查命令 # 查看依赖树 mvn dependency:tree# 查看有效配置合并所有配置后的最终结果 mvn help:effective-pom# 清理项目并重新构建 mvn clean install# 跳过测试 mvn install -DskipTests附、常用插件 1. 核心构建插件 maven-compiler-plugin 作用: 编译 Java 源代码。 groupId: org.apache.maven.plugins artifactId: maven-compiler-plugin 常用配置 configurationsource1.8/source !-- 指定 Java 版本 --target1.8/targetencodingUTF-8/encoding /configurationmaven-clean-plugin 作用: 清理构建输出目录默认删除 target/。 命令: mvn clean 2. 测试与报告插件 maven-surefire-plugin 作用: 运行单元测试JUnit、TestNG。 groupId: org.apache.maven.plugins 跳过测试 mvn test -DskipTestsmaven-failsafe-plugin 作用: 运行集成测试通常绑定到 verify 阶段。 groupId: org.apache.maven.plugins 命令: mvn verify maven-javadoc-plugin 作用: 生成 Javadoc 文档。 常用命令 mvn javadoc:javadoc # 生成文档到 target/site/apidocs3. 打包与部署插件 maven-jar-plugin 作用: 打包项目为 JAR 文件。 groupId: org.apache.maven.plugins 默认绑定阶段: package maven-war-plugin 作用: 打包 Web 项目为 WAR 文件。 groupId: org.apache.maven.plugins 配置示例 packagingwar/packaging !-- 修改打包类型 --maven-assembly-plugin 作用: 定制化打包如生成包含依赖的 ZIP/TAR 包。 groupId: org.apache.maven.plugins 常用命令 mvn assembly:singlemaven-shade-plugin 作用: 打包可执行 Fat JAR合并依赖。 groupId: org.apache.maven.plugins 典型配置 configurationtransformerstransformer implementationorg.apache.maven.plugins.shade.resource.ManifestResourceTransformermainClasscom.example.Main/mainClass !-- 指定主类 --/transformer/transformers /configurationmaven-deploy-plugin 作用: 将构建产物部署到远程仓库如 Nexus。 groupId: org.apache.maven.plugins 命令: mvn deploy 4. 依赖管理插件 maven-dependency-plugin 作用: 分析、复制或解压依赖。 groupId: org.apache.maven.plugins 常用命令 mvn dependency:tree # 查看依赖树 mvn dependency:copy-dependencies -DoutputDirectorylibs # 复制依赖到目录versions-maven-plugin 作用: 管理依赖版本检查更新、升级版本。 groupId: org.codehaus.mojo 常用命令 mvn versions:display-dependency-updates # 检查依赖更新 mvn versions:set -DnewVersion2.0.0 # 批量修改版本号5. 代码质量与静态分析 maven-checkstyle-plugin 作用: 检查代码风格是否符合规范。 groupId: org.apache.maven.plugins 绑定阶段: validate maven-pmd-plugin 作用: 静态代码分析检测潜在 Bug、复杂代码。 groupId: org.apache.maven.plugins jacoco-maven-plugin 作用: 生成单元测试覆盖率报告。 groupId: org.jacoco 常用命令 mvn jacoco:report # 生成报告到 target/site/jacoco6. 容器化与云原生 spring-boot-maven-plugin 作用: 打包 Spring Boot 应用可执行 JAR。 groupId: org.springframework.boot 配置示例 plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId /plugindocker-maven-plugin 作用: 构建 Docker 镜像并推送至仓库。 groupId: io.fabric8 典型配置 configurationimagesimagenamemy-app:${project.version}/namebuilddockerFileDockerfile/dockerFile/build/image/images /configuration7. 其他实用插件 exec-maven-plugin 作用: 直接运行 Java 类或 Shell 命令。 groupId: org.codehaus.mojo 运行 Main 类 mvn exec:java -Dexec.mainClasscom.example.Mainflatten-maven-plugin 作用: 简化 POM 文件去除冗余信息适合发布。 groupId: org.codehaus.mojo 配置示例 plugingroupIdorg.codehaus.mojo/groupIdartifactIdflatten-maven-plugin/artifactIdversion1.3.0/versionconfigurationflattenModeoss/flattenMode/configuration /pluginantrun-maven-plugin 作用: 在 Maven 中执行 Ant 任务。 groupId: org.apache.maven.plugins 示例 executionidcopy-files/idphasepackage/phasegoalsgoalrun/goal/goalsconfigurationtargetcopy filesrc/data/config.xml toFiletarget/config.xml//target/configuration /execution使用建议 1官方插件优先在 Maven Plugins List 查找。 2第三方插件可在 Maven Central 搜索。 3通过 mvn help:describe -Dplugin插件ID 查看插件详情。
http://www.tj-hxxt.cn/news/133768.html

相关文章:

  • 装修设计网站哪个好个人社保缴费记录查询官网
  • 公司建设官方网站潍坊网站制作小程序
  • 红酒购物网站源码检测网站名 注册
  • 重庆网络推广网站推广家居企业网站建设公司
  • 纯静态网站 搜索功能wordpress 3.9 编辑文章 固定链接 不能编辑
  • 江苏中兴建设有限公司网站淘宝图片做链接的网站
  • 做水果生意去哪个网站个人视频网站源码
  • 泉州网站制作企业企业网站建设应该注意什么事项问题
  • 常州网站价格php网站实例教程
  • 白佛网站建设服务器平台
  • 腾讯微博做网站外链步骤李沧做网站
  • 天津网站建设设计东莞软件开发培训
  • 网站建设培训学校广州设计培训班大概多少钱
  • 手机网站 微信小程序seo建站
  • 手机在线制作表白网站做电商网站都需要学什么软件
  • 平台网站建设意见征求表百度明令禁止搜索的词
  • 廉政网站建设经验交流网站建设及seo
  • 优酷网站谁做的织梦做网站利于优化
  • 手机网站怎么写苏州网站建设报价单
  • 清远网站建设wordpress tidio怎么用
  • 二手交易网站建设的功能定位网站设计制作公司排名
  • 五合一小程序网站黄页网站怎么查
  • 顶尖手机网站建设成都市住房和城乡建设局电话
  • 学校网站建设与管理网站广告投放
  • 甘肃网站备案萍乡做网站哪家好
  • 网站seo优化教程郑州网站seo哪家公司好
  • 保险理财网站建设网页游戏网站2345
  • 域名注册完成后怎么做网站淘宝seo 优化软件
  • 网站带后台模板公众号开发者工具是干嘛的
  • 网站开发 指导石家庄简单的网页制作