跟着JHipster学做项目(3) - Maven的使用技巧(上)分离jar和依赖

Java技术变现新路径:基于JVM生态的工程化赚钱模型 Java作为一门成熟语言,其核心价值已从语法特性升维为JVM生态所承载的稳定性、向后兼容性与企业级信任背书。在等保合规、遗留系统现代化和垂直领域工具链等刚性需求驱动下,Java凭借字节码增强、Java Agent、ClassLoader热加载等原生能力,成为构建合规即服务(Compliance-as-a-Service)、遗留系统缝合层及微型SaaS的关键技术底座。它不追求性能极限,而以‘可审计、可验证、零改造集成’满足法务签字、运维背书与终端用户习惯三重决策节点。本文聚焦Java在2025年中小企业技术变 阅读详情

常见的spring boot打包方式分两种, war和fat jar, 这里主要针对fat jar在部署中遇到的jar包过大问题,jar包过大导致在每次升级时需要很长时间上传jar包,尤其是网速受限时,问题尤其突出,那么主要思想是将不常变化的依赖包单独部署到lib文件夹,每次只上传常变的项目代码。

虽然在JHipster项目中并没有分离依赖,但是我们在spring-swagger2markup-demo中找到方法,下面介绍一下具体做法。

第一步,利用maven-jar-plugin代替原有生成fat jar的插件spring-boot-maven-plugin,例如:

            <!-- specify the main class for the manifest -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.Application</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

第二步,利用maven-dependency-plugin将所有依赖拷贝到lib文件夹,例如:

            <!-- copy dependencies to the lib directory -->
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

部署方式上和fat jar没有任何区别。

Good Luck,

Cheers!

JDK 17编译报错JVM target 5排查与修复:IDE与构建脚本配置指南 Java编译器通过-source和-target参数控制字节码版本,但JDK 17已移除对Java 5的支持,导致配置了JVM target 5的老项目编译失败。理解编译目标兼容性原理,是排查此类报错的前提。在实际工程中,IDE的Language Level、构建脚本的sourceCompatibility/targetCompatibility以及历史模板残留,都可能产生版本错位。合理使用--release参数或统一构建工具配置,既能修复编译错误,又能避免API误用风险。针对多模块项目与CI环境,系统化检 阅读详情

相关推荐

Claude Code与Codex深度对比:终端AI编程助手选型指南

大语言模型驱动的AI编程助手已成为开发者提效的重要工具,它们基于自然语言交互,自动完成代码生成、重构和调试。这类工具依赖上下文理解与工程实践,不同产品在交互模式、模型接入和任务执行上差异显著。从终端CLI编程场景出发,梳理AI编程助手的设计原理与技术价值,重点对比Anthropic Claude Code与OpenAI Codex在安装配置、上下文管理、第三方模型接入(如DeepSeek)以及高频报错处理上的实际表现。无论你是新手还是资深工程师,理解这些差异有助于根据自身工作流选择合适工具,或在两者间灵活切

weixin_33755649的博客 3129

jhipster 7.0.1

cnpm i -g jhipster@7.0.1 node 12.22.12 npm 6.14.16 cnpm i webpack --save cnpm i webpack-cli --save

jonathan_joestar的博客 457

ALTERA Triple-Speed Ethernet IP核在UDP通信中的实战配置指南

本文详细介绍了在Intel FPGA(原ALTERA)平台上配置Triple-Speed Ethernet IP核以实现UDP通信的实战指南。内容涵盖从IP核选型、QSYS系统搭建、关键参数配置,到UDP数据包组装、NIOS C程序调试及上板验证的全流程,重点解析了如何利用该IP核快速构建稳定的千兆网通信基础,为FPGA网络应用开发提供清晰路径。

m3n5b7v8c9x的博客 512

jhipster使用简明教程

1.简介 jhipster简单来说是一个基于nodejs+yeoman的java代码生成器。往大了说是基于java的一套微服务解决方案。请注意是一整套的微服务解决方案。jhipster在整个程序架构上都做好了整合,包括前端mvvm框架(angularjs),前端构建工具(gulp)到后端的微服务框架(spring cloud)和hibernate/mongodb,再到单元测试/ui测试。 ...

大树叶 技术专栏 9494

动态库加载失败终极指南:从libbz2.so.1错误看Linux依赖管理本质

本文以经典的libbz2.so.1加载错误为例,深入剖析Linux动态链接库管理的核心机制。文章不仅提供从ldd检查、符号链接创建到LD_LIBRARY_PATH设置等实战解决方案,更系统性地讲解了动态链接器的寻库路径、版本管理及依赖问题预防策略,帮助开发者从根本上理解和掌握Linux依赖管理本质。

weixin_29212429的博客 446

电源芯片TPS54560典型应用电路及设计详解

TPS54560 是一款配有集成型高侧 MOSFET 的 60V、5A DC-DC转换器,输入电压范围7-60V,输出电压可通过外部反馈电阻设置成略低于输入电压的任意值。**所以,**R5=31.25KΩ、R6:10KΩ(常用值)时,即可设置输出电压为 3.3V。**所以,**R5=140KΩ、R6:10KΩ(常用值)时,即可设置输出电压为12V。设计 TPS54560 的输出电压时,主要通过外部反馈电阻网络来设置输出电压。因此,输出 3.3V ,输入电压24V时推荐的电感值为 8µH 至 10µH。

weixin_42306872的博客 1万+

JHipster的安装

JHipster的安装 发布时间:2018-04-09 来源:网络 上传者:用户 关键字: jhipster 安装 发表文章 摘要:JHipsterGitHub地址:https://jhipster.github.io/刚开始接触JHipster,理解还不深,此次随笔只是把自己对JHipster的所学记录一下,也算是一种知识的积累吧。 安装步骤如下:1、安装java8(http://...

The_Commitmentts的博客 391

避坑指南:Qt5.14.2 ARM交叉编译中那些你可能遇到的‘坑’及解决方案

本文深度解析了Qt 5.14.2在ARM架构上进行交叉编译的完整流程与常见难题。重点阐述了如何精准匹配交叉编译器与目标板环境、正确配置sysroot以及使用configure参数的艺术,并针对编译过程中的头文件缺失、链接错误等典型“坑”提供了经过验证的解决方案,旨在帮助开发者成功构建适用于嵌入式设备的Qt运行时库。

weixin_29279101的博客 352

Maven 依赖管理

Maven 是一个强大的工具,它简化了项目依赖的管理。Maven 自动化了下载和包含必要库的过程,这对于构建 Java 应用程序至关重要。本文将涵盖 Maven 依赖管理的核心方面,包括如何声明依赖、依赖范围、传递依赖、依赖管理、排除依赖和解决冲突。我们还将提供一个完整的示例来说明这些概念。

疯一样的码农 1881

MATLAB 与 STK 互联的两种连接方式详解

批量仿真推荐使用方法一;交互分析推荐使用方法二。可以根据具体任务灵活切换,也可以同时使用两种方式,提升建模与仿真的效率。

weixin_52370774的博客 1566

高通平台开发系列讲解(系统篇)系统关机流程

📢本篇章主要图解高通平台系统关机流程。

内核笔记 3212

Failed to create parent directories for tracking file C:\Program Files\Maven

Failed to create parent directories for tracking file C:\Program Files\MavenRepository #问题:当我用IDEA配置Maven环境时出现 Failed to create parent directories for tracking file C:\Program Files\MavenRepository ##原因:我把maven仓库MavenRepository放在了C:\Program Files\MavenRepo

qq_51606037的博客 5441

Python爬虫实战:抓取统计数据并生成年度对比图表详解

国家统计局网站(静态HTML页面Excel文件JSON接口(部分新版API)我们将重点演示从统计公报页面抓取数据,结合解析Excel文件,实现多种数据格式爬取处理。本文从零开始搭建了一个爬取国家统计数据并制作年度对比图表的完整流程。读者可以根据实际需求调整爬取目标,丰富数据分析维度,甚至结合机器学习模型预测未来趋势。欢迎你在评论区留言分享你的爬虫实践,或提出改进建议!

2201_76125261的博客 1000

jhipster_jHipster入门,第1部分

jhipster 因此,您想保持技术的领先地位,但对所有活动部件感到不知所措。 你真幸运! 这就是jHipster发光的地方。 如果您喜欢Ruby on Rails或Grails的方法来快速启动和运行应用程序,那么这可能是适合您的选择。 jHipster旨在使设置应用程序变得轻松自如。 在本jHipster系列中,我们将首先带您创建一个整体应用程序。 其次,我们将以微服务风格制作一个应...

最佳 Java 编程 443

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jHipster入门,第1部分

因此,您想保持技术的领先地位,但对所有活动部件感到不知所措。 你真幸运! 这是jHipster发光的地方。 如果您喜欢Ruby on Rails或Grails的方法来快速启动和运行应用程序,那么这可能是适合您的选择。 jHipster旨在使设置应用程序变得相当轻松。 在本jHipster系列中,我们将首先带您创建一个整体应用程序。 其次,我们将以微服务风格制作一个应用程序。 最后,我...

最佳 Java 编程 260

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Jhipster 学习

(一)jhipster构建项目如何安装jhipster第一步:下载jdk  自己安装的1.8版本  (安装、环境变量配置略)第二步:1.下载Eclipse (luna版 eclipse-4.4.1)   第三步:下载maven (apache-maven-3.2.5)   在eclipse  properties属性里配置setting.xml  ( D:\apache-maven-3.2.5\c...

海子@幸福人 840

jhipster技术栈研究

背景: 公司新的微服务项目都用jhipster脚手架来开发,这篇博客是jhipster里面涉及到技术的汇总目录 一、官方文档中涉及到的技术栈 前端技术栈 Angular / React / Vue Responsive Web Design with Twitter Bootstrap HTML5 Boilerplate Compatible with modern...

alnh4952的博客 397

如何在10分钟内启动JHipster-Sample-App?新手必备的快速上手教程

JHipster-Sample-App是使用JHipster创建的示例应用,本文将为新手提供最快10分钟内启动该应用的完整指南,帮助你轻松体验JHipster开发的便捷与高效。 ## 🌟 准备工作:环境检查清单 在开始前,请确保你的开发环境已安装以下工具: - **Git**:用于克隆项目代码库 - **Java 17+**:后端运行环境(可通过`java -version`检查版本) -

gitblog_00018的博客 347

发现转换之力:sql-to-jdl,将SQL数据库一键升级为jHipster的JDL格式

发现转换之力:sql-to-jdl,将SQL数据库一键升级为jHipster的JDL格式 在软件开发的世界里,快速适应与高效转换是持续进步的关键。今天,我们为您揭秘一个开源自救星——sql-to-jdl,它能够将您现有的SQL数据库无缝转化为jHipster支持的JDL(JHipster Domain Language)格式,让旧数据库焕发新生,与现代Web应用开发完美接轨。 1. 项目介绍 sq...

gitblog_00090的博客 534

JHipster框架的简要搭建与说明

JHipster的亮点 风头超劲,席卷欧美,最新全能Java Web开发程式产生器 (java web generator)。 由Java专家累积的开发经验,配上各类实用的框架技术,去繁取精的运用,全方位的配置,制成出完备的开发应用程式。 完美Java体系架构,适合各行各业项目,尤其以适用于面向服务的体系结构(SOA)更为胜任。 不论菜鸟,老牛或专家,极容易上手,只要你可以下载及建立以...

weixin_30268071的博客 168

全栈式的Java开发框架JHipster简介(三)

再介绍一下JHipster的技术栈   客户端 单页面应用 响应式web设计 HTML5 Bootstrap AngularJS 用Angular Translate支持国际化 可选的Sass支持css设计 用Bower 安装JavaScript组件库 用Gulp.js构建和Browsersync重新加载修改的静态文件 用Karma 和 PhantomJS测试 ...

u011791490的博客 355

Maven Archetype:从复制粘贴到一键生成,打造企业级Java项目模板

在Java企业级开发中,项目标准化和快速启动是提升团队效率的关键。Maven作为核心构建工具,其Archetype模块正是解决这一痛点的利器。它通过元模型和变量替换机制,将项目结构、配置、依赖和最佳实践封装成可复用的模板。其技术价值在于将手动、易错的“复制粘贴”流程自动化,确保项目从诞生之初就符合公司规范与技术选型。在应用场景上,它尤其适用于需要统一技术栈、父POM、私有仓库配置和基础代码框架的中大型团队。本文聚焦于Maven Archetype,手把手演示如何创建包含Spring Boot、JPA等组件的

weixin_30325487的博客 398

Spring学习之SpringBoot项目搭建

使用maven搭建,pom.xml文件如下 &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven....

qq_31258245的博客 287

从手搓CRUD到工程流水线:Java后端开发效率革命

在软件工程领域,自动化与标准化是提升开发效率、保障代码质量的核心路径。其基本原理在于通过工具链和规范,将重复性、模式化的工作交由机器处理,从而让开发者聚焦于复杂业务逻辑与创新设计。这一理念的技术价值在于显著减少人为错误、统一团队输出、加速项目交付周期,并降低维护成本。典型的应用场景包括快速构建标准化微服务、统一团队技术栈、以及实施领域驱动设计(DDD)项目。本文以飞算JavaAI工程流水线为例,深入探讨如何通过全生命周期自动化与DDD代码结构,系统化地解决“手搓CRUD”带来的低效与维护难题,实现从“体力劳

weixin_34184561的博客 389
上一篇: 跟着JHipster学做项目(2) - 使用Swagger2生成API文档 (上)生成swagger的asciidoc文件
下一篇: 跟着JHipster学做项目(3) - Maven的使用技巧(下)去掉因lifecycle引起的红叉
java_augur
博客等级 码龄22年 67粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值