网站建设对公司有什么好处网络设计报告范文

张小明 2026/1/13 13:20:12
网站建设对公司有什么好处,网络设计报告范文,网站ie不兼容,做网站汉狮网络三种方式打 Java 可执行 JAR 包#xff0c;你用对了吗#xff1f;写完代码只是开始#xff0c;如何打包成一个“开箱即用”的 JAR 文件#xff0c;才是交付的关键一步。很多 Java 开发者都遇到过这样的问题#xff1a; 本地跑得好好的程序#xff0c;一打包就报错 ClassN…三种方式打 Java 可执行 JAR 包你用对了吗写完代码只是开始如何打包成一个“开箱即用”的 JAR 文件才是交付的关键一步。很多 Java 开发者都遇到过这样的问题本地跑得好好的程序一打包就报错ClassNotFoundException别慌这很可能不是你的代码问题而是——JAR 包没打好Maven 提供了多种打可执行 JAR 的方式。今天我们就来对比三种主流方案✅maven-jar-plugin轻量外置依赖✅maven-assembly-plugin全家桶打包✅maven-shade-plugin高级防冲突版每种方式配真实pom.xml 配置 执行命令 输出结构让你看完就能上手方式一maven-jar-plugin—— “轻量但依赖外置”它只打包你自己的代码不包含第三方依赖但会在MANIFEST.MF中指定依赖路径。 pom.xml 配置build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-jar-plugin/artifactId version3.2.0/version configuration archive manifest mainClassorg.example.App/mainClass addClasspathtrue/addClasspath classpathPrefixdependencies//classpathPrefix /manifest /archive /configuration /plugin plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-dependency-plugin/artifactId version3.1.1/version executions execution phasepackage/phase goals goalcopy-dependencies/goal /goals configuration outputDirectory${project.build.directory}/dependencies//outputDirectory includeScoperuntime/includeScope /configuration /execution /executions /plugin /plugins /build 打包后结构jar包解压后看长啥样├── META-INF │ ├── MANIFEST.MF │ └── maven │ └── org.example │ └── java-demo │ ├── pom.properties │ └── pom.xml └── org └── example └── App.classjar包中的MANIFEST.MF文件Manifest-Version: 1.0 Created-By: Maven Jar Plugin 3.2.0 Build-Jdk-Spec: 17 Class-Path: dependencies/fastjson2-2.0.60.jar -第三方依赖包在这里 Main-Class: org.example.App -启动类▶️ 执行命令java -jar java-demo-1.0-SNAPSHOT.jar✅ 优点JAR 小、依赖清晰 ❌ 缺点必须保证dependencies/目录在 JAR 同级否则运行失败方式二maven-assembly-plugin—— “全家桶打包”生成一个fat jar把你的代码 所有依赖的 class 全部塞进去。 pom.xml 配置build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-assembly-plugin/artifactId version3.1.0/version configuration finalNamejava-demo/finalName descriptorRefs descriptorRefjar-with-dependencies/descriptorRef /descriptorRefs archive manifest mainClassorg.example.App/mainClass /manifest /archive /configuration executions execution phasepackage/phase goals goalsingle/goal /goals /execution /executions /plugin /plugins /build 打包后结构target/ ├── java-demo-jar-with-dependencies.jar ← 可执行 fat jar └── java-demo-1.0-SNAPSHOT.jar ← 原始包不可执行可执行jar包的解压后长啥样jar包的MANIFEST.MF文件Manifest-Version: 1.0 Created-By: Apache Maven 3.9.8 Built-By: Administrator Build-Jdk: 17.0.11 Main-Class: org.example.App▶️ 执行命令java -jar java-demo-jar-with-dependencies.jar✅ 优点一个文件搞定部署简单 ❌ 缺点依赖类直接合并容易因同名类冲突导致运行时错误方式三maven-shade-plugin—— “高级防冲突版”不仅能打包所有依赖还支持类重定位relocation从根本上避免类冲突。类重定位其实就是动态的移动、修改jar包中的类名、包名。 pom.xml 配置基础版plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-shade-plugin/artifactId version3.2.1/version executions execution phasepackage/phase goals goalshade/goal /goals configuration !-- 此处按需编写更具体的配置 -- transformers transformer implementationorg.apache.maven.plugins.shade.resource.ManifestResourceTransformer mainClassorg.example.App/mainClass /transformer /transformers /configuration /execution /executions /plugin 如需解决冲突可加relocations重命名包路径此处略按需扩展。 打包后结构target/ ├── java-demo-1.0-SNAPSHOT.jar ← 可执行最终包把项目中的代码及所依赖的第三方jar的Class文件都打进去了 └── original-java-demo-1.0-SNAPSHOT.jar ← 原始包备份,不能直接执行只包含项目中自有的代码MENIFEST.MF文件中连Main-Class都没有。可执行jar包的解压后长啥样jar包的MANIFEST.MF文件Manifest-Version: 1.0 Created-By: Maven JAR Plugin 3.4.1 Build-Jdk-Spec: 17 Main-Class: org.example.App▶️ 执行命令java -jar java-demo-1.0-SNAPSHOT.jar✅ 优点支持类重定位、稳定性高、被 Spring Boot 等广泛采用 ❌ 缺点JAR 体积大配置略复杂动态重命名包示例如果最终的 jar 包被其他的项目所依赖的话 classpath 中可能存在重复的 class 文件直接地引用此 jar 包中的类可能会导致类加载冲突。为了解决这个问题我们可以使用 shade 提供的重定位功能把部分类移动到一个全新的包中。build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-shade-plugin/artifactId version3.2.1/version executions execution phasepackage/phase goals goalshade/goal /goals configuration transformers transformer implementationorg.apache.maven.plugins.shade.resource.ManifestResourceTransformer mainClassorg.example.App/mainClass /transformer /transformers relocations relocation !--在打包时将项目中的原始包com.alibaba.fastjson2重命名为com.asia.fastjson2-- patterncom.alibaba.fastjson2/pattern shadedPatterncom.asia.fastjson2/shadedPattern !--排除以下类路径保持不动-- excludes excludecom.alibaba.fastjson2.JSON/exclude excludecom.alibaba.fastjson2.filter.*/exclude /excludes /relocation /relocations /configuration /execution /executions /plugin /plugins /build涉及标签pattern原始包名shadedPattern重命名后的包名excludes原始包内不需要重定位的类类名支持通配符jar包解压后看什么样. ├── com │ ├── alibaba │ │ └── fastjson2 │ │ ├── filter │ │ └── JSON.class │ └── asia │ └── fastjson2 │ ├── annotation │ ├── codec │ ├── function │ ├── internal │ ├── 省略。。。 │ ├── TypeReference.class │ ├── util │ └── writer ├── META-INF │ ├── MANIFEST.MF │ ├── maven │ │ ├── com.alibaba.fastjson2 │ │ │ └── fastjson2 │ │ └── org.example │ │ └── java-demo │ ├── native-image │ │ └── com.alibaba.fastjson2 │ │ └── fastjson2 │ ├── proguard │ │ └── fastjson2.pro │ ├── scm │ │ └── com.alibaba.fastjson2 │ │ └── fastjson2 │ └── versions │ └── 9 │ └── module-info.class ├── org │ └── example │ └── App.class └── schema ├── 2020-12.json └── draft-04.json 一张表看懂怎么选插件是否含依赖是否可直接运行能否防冲突推荐场景maven-jar-plugin❌外置✅需依赖目录❌轻量部署、依赖独立管理maven-assembly-plugin✅✅❌快速打包、简单项目maven-shade-plugin✅✅✅支持重定位复杂项目、生产环境标签
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

莱西大型网站建设开一个工作室需要多少钱

掌握 Puppet 4:高效管理 IT 基础设施的秘诀 1. Puppet 简介 在当今不断发展的软件行业中,DevOps 趋势正深刻改变着工作流程。开发者自行搭建和维护环境,运维人员则将自动化提升到新高度,把整个基础设施转化为代码。Puppet 作为一款新兴的服务器配置管理工具,凭借其独特的…

张小明 2026/1/7 17:18:57 网站建设

网站设计规划 优帮云建设中英文网站

Zwift-Offline离线骑行模拟:Android设备完整配置指南 【免费下载链接】zwift-offline Use Zwift offline 项目地址: https://gitcode.com/gh_mirrors/zw/zwift-offline 想要在没有网络的情况下享受Zwift骑行体验吗?Zwift-Offline项目让你能够在本…

张小明 2026/1/7 20:31:44 网站建设

深圳网站关键词排名网络规划设计师希赛

7个关键技巧:掌握CodeBERT的终极实用指南 【免费下载链接】CodeBERT CodeBERT 项目地址: https://gitcode.com/gh_mirrors/co/CodeBERT CodeBERT是微软推出的革命性代码预训练模型系列,通过深度学习技术让机器真正理解编程语言的深层语义。无论你…

张小明 2026/1/10 12:56:50 网站建设

园林景观中企动力提供网站建设阜南县建设局网站

告别设计标注烦恼:Sketch Measure如何让团队协作变得轻松有趣 【免费下载链接】sketch-measure Make it a fun to create spec for developers and teammates 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-measure 还记得那些为了一个像素的偏差与开…

张小明 2026/1/13 6:39:58 网站建设

怎么样自己做网站赚钱年入40万建造师在建项目查询网

💡实话实说:CSDN上做毕设辅导的都是专业技术服务,大家都要生活,这个很正常。我和其他人不同的是,我有自己的项目库存,不需要找别人拿货再加价。我就是个在校研究生,兼职赚点饭钱贴补生活费&…

张小明 2026/1/10 8:03:15 网站建设

网站优化大计wordpress文件管理

LobeChat与Supabase结合:低成本搭建带数据库的AI应用 在今天,越来越多开发者希望快速构建一个具备记忆能力、支持多设备同步、还能接入大模型的智能聊天机器人——但往往被复杂的后端架构和高昂的运维成本劝退。你是否也经历过这样的困境:前端…

张小明 2026/1/9 17:33:47 网站建设