跟着JHipster学做项目(3) - Maven的使用技巧(下)去掉因lifecycle引起的红叉

PDFBox 导入外部字体 PDFBox 内置字体似乎仅支持外文。 如果有中文录入的需要,需要加载常用的字体库。 代码如下: // 加载某个我喜欢的字体库 PDFont font= PDType0Font.load(document, new File("C:\\Windows\\Fonts\\Dengl.ttf")); // 实际上还有PDType1Font,PDType3Font,一般ttf就用PDType0Font足以。至于其它的,可以知乎找找介绍一类。 // 实例化对象了之后,将它添加到PDPage的Resource中。 PD 阅读详情

当我们在项目中引入swagger或者asciidoc等插件时,通常定义在generate-sources阶段执行,当使用eclipse时,pom.xml就会出现一个红叉,以swagger2markup-maven-project-template项目为例,克隆这个项目在本地,将项目引入到eclipse,

lifecycle

这个问题虽然不影响项目的编译以及运行,但是这个红叉不仅会引起视觉的不适,也实际会影响我们对项目健康状况的判断,下面我们通过对JHipster项目的pom.xml学习,看看如何解决这个问题。

原理是通过pluginManagement中action给定参数ignore,但是要注意如果简单把plugin放入pluginManagement会造成不执行,那么我们需要单独给出插件的执行配置,具体如下:

<build>
		<plugins>
			<!-- First, use the swagger2markup plugin to generate asciidoc -->
			<plugin>
				<groupId>io.github.swagger2markup</groupId>
				<artifactId>swagger2markup-maven-plugin</artifactId>
				<version>${swagger2markup.plugin.version}</version>
				<dependencies>
					<dependency>
						<groupId>io.github.swagger2markup</groupId>
						<artifactId>swagger2markup-import-files-ext</artifactId>
						<version>${swagger2markup.extension.version}</version>
					</dependency>
					<dependency>
						<groupId>io.github.swagger2markup</groupId>
						<artifactId>swagger2markup</artifactId>
						<version>${swagger2markup.version}</version>
					</dependency>
				</dependencies>
				<configuration>
					<swaggerInput>${swagger.input}</swaggerInput>
					<outputDir>${generated.asciidoc.directory}</outputDir>
					<config>
						<swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
						<swagger2markup.pathsGroupedBy>TAGS</swagger2markup.pathsGroupedBy>
						<swagger2markup.extensions.dynamicOverview.contentPath>${project.basedir}/src/docs/asciidoc/extensions/overview</swagger2markup.extensions.dynamicOverview.contentPath>
						<swagger2markup.extensions.dynamicDefinitions.contentPath>${project.basedir}/src/docs/asciidoc/extensions/definitions</swagger2markup.extensions.dynamicDefinitions.contentPath>
						<swagger2markup.extensions.dynamicPaths.contentPath>${project.basedir}/src/docs/asciidoc/extensions/paths</swagger2markup.extensions.dynamicPaths.contentPath>
						<swagger2markup.extensions.dynamicSecurity.contentPath>${project.basedir}src/docs/asciidoc/extensions/security</swagger2markup.extensions.dynamicSecurity.contentPath>
					</config>
				</configuration>
				<executions>
					<execution>
						<phase>generate-sources</phase>
						<goals>
							<goal>convertSwagger2markup</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Run the generated asciidoc through Asciidoctor to generate other 
				documentation types, such as PDFs or HTML5 -->
			<plugin>
				<groupId>org.asciidoctor</groupId>
				<artifactId>asciidoctor-maven-plugin</artifactId>
				<version>1.5.5</version>
				<!-- Include Asciidoctor PDF for pdf generation -->
				<dependencies>
					<dependency>
						<groupId>org.asciidoctor</groupId>
						<artifactId>asciidoctorj-pdf</artifactId>
						<version>${asciidoctorj.pdf.version}</version>
					</dependency>
					<!-- Comment this section to use the default jruby artifact provided 
						by the plugin -->
					<dependency>
						<groupId>org.jruby</groupId>
						<artifactId>jruby-complete</artifactId>
						<version>${jruby.version}</version>
					</dependency>
					<!-- Comment this section to use the default AsciidoctorJ artifact provided 
						by the plugin -->
					<dependency>
						<groupId>org.asciidoctor</groupId>
						<artifactId>asciidoctorj</artifactId>
						<version>${asciidoctorj.version}</version>
					</dependency>
				</dependencies>
				<!-- Configure generic document generation settings -->
				<configuration>
					<sourceDirectory>${asciidoctor.input.directory}</sourceDirectory>
					<sourceDocumentName>index.adoc</sourceDocumentName>
					<attributes>
						<doctype>book</doctype>
						<toc>left</toc>
						<toclevels>3</toclevels>
						<numbered></numbered>
						<hardbreaks></hardbreaks>
						<sectlinks></sectlinks>
						<sectanchors></sectanchors>
						<generated>${generated.asciidoc.directory}</generated>
					</attributes>
				</configuration>
				<!-- Since each execution can only handle one backend, run separate executions 
					for each desired output type -->
				<executions>
					<execution>
						<id>output-html</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>process-asciidoc</goal>
						</goals>
						<configuration>
							<backend>html5</backend>
							<outputDirectory>${asciidoctor.html.output.directory}</outputDirectory>
						</configuration>
					</execution>
					<execution>
						<id>output-pdf</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>process-asciidoc</goal>
						</goals>
						<configuration>
							<backend>pdf</backend>
							<outputDirectory>${asciidoctor.pdf.output.directory}</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!-- This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. Remove when the m2e 
					plugin can correctly bind to Maven lifecycle -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>io.github.swagger2markup</groupId>
										<artifactId>swagger2markup-maven-plugin</artifactId>
										<versionRange>
											${swagger2markup.plugin.version}
										</versionRange>
										<goals>
											<goal>convertSwagger2markup</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.asciidoctor</groupId>
										<artifactId>asciidoctor-maven-plugin</artifactId>
										<versionRange>
											${asciidoctorj.version}
										</versionRange>
										<goals>
											<goal>process-asciidoc</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

这样配置后项目需要利用maven来update。

Good Luck,

Cheers.

等线字体用于PDF生成 在asciidoctorj-pdf-1.5.0-alpha.15.jar\gems\asciidoctor-pdf-1.5.0.alpha.15\data\fonts这个路径下加入中文字符集,例如: Deng.ttf,Dengb.ttf, Dengl.ttf,在这里可以下载字符集。 立即下载

相关推荐

windows字体Fonts

windows字体Fonts

【文本处理与分类】使用cnews新闻数据集进行文本分类(包含分词、词云、文本关键词提取等)

使用cnews新闻数据集进行文本分类(包含分词,数据清洗、词云、文本关键词提取等内容)

QHCV的博客 4313

Docker打包制作rocketmq镜像

Docker打包制作rocketmq镜像(Dockerfile方式),并运行启动。 这里提供所有需要的文件,包括字体 ,lib,openoffice安装包。 提供dockerfile,build镜像脚本。

Maven org.eclipse.m2e:lifecycle-mapping:1.0.0: Plugin 未找到报错解决

Maven org.eclipse.m2e:lifecycle-mapping:1.0.0: Plugin 未找到报错解决

weixin_51623642的博客 2561

win10 运行lisflood_8踩过的坑

1、安装cuda及VS2019 https://www.bilibili.com/read/cv7335974/ 2、netcdf.h头文件找不到问题 https://www.cnblogs.com/lyggqm/p/12926974.html https://blog.youkuaiyun.com/u011954296/article/details/54617048 3、编码问题 https://blog.youkuaiyun.com/qq_33485434/article/details/81196843 4、

我的笔记 4115

告别以太网瓶颈:手把手教你为AI训练集群搭建InfiniBand网络(以NVIDIA DGX A100/H100为例)

本文详细指导如何为AI训练集群搭建InfiniBand网络,解决以太网瓶颈问题,特别针对NVIDIA DGX A100/H100系统。通过硬件选型、网络架构设计和性能调优,显著提升多机多卡训练效率,适用于大规模模型训练场景。

weixin_30336061的博客 309

Avro

1.创建maven工程2.导入依赖&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.apache....

tansuoliming的博客 673

从圆形到椭圆:CenterNet中高斯热图半径的自适应优化策略

本文深入探讨了CenterNet目标检测模型中高斯热图生成策略的优化,针对传统圆形高斯核在处理长宽比差异大目标时的局限性,提出了自适应椭圆高斯核的解决方案。通过数学推导和代码实战,详细阐述了如何根据目标边界框尺寸动态计算椭圆长短轴半径,生成更贴合目标几何形状的热图监督信号,从而有效提升模型,尤其是对无人机、车辆等不规则目标的定位精度。

alice7model的博客 985

记录踩过的坑-Eclipse&Maven

目录 1. Servers各种操作 2.调试web程序时,要把Eclipse中的jre改成jdk 3.Eclipse代码自动对齐 4.Maven项目Update Project后JRE System Library自动变回1.5解决办法 5.eclipse怎么修改重命名类 6.自动添加main方法 7.eclipse中几行代码整体向左向右缩进快捷键 8.rest...

天边一坨浮云 722

1448•纯粹素数

纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。对于每一个数(无论质数合数)x,筛掉所有小于x最小质因子的质数乘以x的数。但我们知道,我们选择的那个质数必须小于那个合数的最小质因子。p3,因为p2>p1,所以这样是筛不到的。唯一会筛的是第一种:p1和p2*p3。c,s肯定小于刚才那个合数,说明肯定对于它已经筛过,然后a肯定小于s,因为s=b。p3,并且保证p1<p2<p3。我们知道,筛掉这个合数的机会有:p1和p2。c,并且a是最小的因子。

SSL_bin的博客 591

我每天如何使用 ChatGPT

我偶尔会用这个功能作为开始。我本人非常喜欢阅读,让 ChatGPT 来概括所有文章,感觉就像身处于但丁描述的地狱的某个层次那样痛苦。然而,有时一些文章实在是太啰嗦、无聊,或者写得让人不愉快(比如一个无趣记者对一个让人讨厌的人进行的漫无焦点的采访)。我需要获取这些文章中的一些信息,以便保持信息的更新和了解。在晚期资本主义的广告经济下,很多文章只在一个段落里提供新信息,其余都是无聊的填充内容,只是为了展示糟糕的广告,这实在是对人们的时间和生命的一种浪费。我有几次利用 ChatGPT 来。

KevinDai007的博客 3783

Lifecycle详解

先奉上lifecycle官方文档地址:https://developer.android.com/topic/libraries/architecture/lifecycle 为什么要使用lifecycle? 现状:普通组件在使用过程中通常需要依赖于系统组件(Activity/Fragment/LifecycleService)的生命周期,导致系统组件的生命周期回调方法过于臃肿。例如通常在onCreate()中对组件进行初始化,在onPause()中停止组件,在onDestroy()中对组件进行资源回收

u013773608的博客 3269

仿真学习系列(三十八):Sigrity仿真之单端S参数提取

S 参数(Scattering Parameters)是高速信号分析中最基础也最常用的指标,能够全面表征走线、过孔、连接器等互连结构的高频行为。在 Sigrity PowerSI 中,Model Extraction 是最常用的 S 参数提取方式,适用于高速差分线、单端线、过孔、参考平面等各种拓扑结构。 本节将通过示例讲解如何在 PowerSI 中完成一次完整的 S 参数提取流程,包括:对象选择、端口设置、频率范围配置以及结果查看。掌握此方法后,即可对任意高速网络执行阻抗、插损、回损、串扰分析,为进一步的

案例文章,高速信号 838

Maven 生命周期和插件详解

Maven 生命周期及其阶段 Maven 基于生命周期的核心概念。有三个内置的生命周期: clean:负责清理项目; default:负责构建项目; site:负责建立项目站点。 每个生命周期都包含一些阶段(phase),用户与 Maven 最直接的交互方式就是调用这些生命周期的阶段。 clean 生命周期及其阶段 clean 生命周期包含以下阶段: pre-clean:在清理之前完成一些所需的工作; clean:删除之前构建出的所有文件; post-clean:在清理之后完成一些所需的工作。 de

rosy_dawn的博客 2353

微信小程序 - 实现仿小红书轮播图组件功能,类似小红书笔记页面图片展示播放效果,微信小程序仿小红书幻灯片轮播支持视频播放、图片预览,自动适应图片或视频大小可左右滑动切换(小程序精美轮播图,丝滑切换)

微信小程序,轮播图组件,微信小程序仿小红书轮播图,小红书轮播图仿造,微信小程序轮播图,微信小程序幻灯片,微信小程序高仿小红书轮播图实现,小程序实现类似小红书一样的轮播图组件,轮播图插件,精致轮播图,精美丝滑流畅切换的轮播图,轮播图组件,小红薯轮播图,关于小红书的小程序不同数量的轮播图,展示不一样的轮播指示点的实现,微信小程序仿小红书图片轮播,开发微信小程序模仿小红书,高仿小红书Banner的指示器,小红书小程序笔记详情轮播图指示点的随图片数量的变化动态变化,微信小程序swiper轮播图,js轮播图,html

✅ 精选推荐文章 6929

SAP Build Work Zone standard edition 订阅报错 OIDC trust missing 的成因与完整解决路径

摘要:用户订阅SAP Build Work Zone时遇到422错误,提示未配置OpenID Connect信任。该错误表明业务用户需通过SAP Cloud Identity Services的OIDC协议认证,而当前子账户仅配置了SAML信任或未配置信任。解决方法是进入子账户的Trust Configuration页面,使用Establish Trust功能建立与SAP Cloud Identity Services的OIDC信任关系。这是SAP新版服务的强制要求,SAML协议已不被支持。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 197

idea access数据库连接_图文并茂 教你在IDEA中如何一键生成代码,提高开发效率!...

一、准备工作1. 插件安装在IDEA中安装(EasyCode)插件、(Lombok)插件。2. 创建一个springboot项目如果不会创建的话可以翻看我前面写过的文章。初识 Springboot创建完成后的目录结构:3. 准备数据库表表结构:CREATE TABLE `user` ( `id` int(11) NOT NULL, `username` varchar(255) DEFAU...

weixin_39831991的博客 1561

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

关于maven插件,lifecycle-mapping org.codehaus.gmaven等插件在pom文件中报错解决方案

最近在研究tigase即时通讯组件,在官网下载下来的tigase-server源码中pom会报错,该报错信息我花了二天时间才解决,其实知道方法了 很快就能搞定的 只要在pom文件的&lt;bulid&gt;节点中加入如下代码 &lt;pluginManagement&gt; &lt;plugins&gt; &lt;!--This plugin's configuration...

憧憬未来,珍惜现在,回味过去。 6760

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

linux安装中文字体方法

1. 首先获得一套“微软雅黑”字体库(Google一下一大把),包含两个文件msyh.ttf(普通)、msyhbd.ttf(加粗); 2. 在/usr/share/fonts目录下建立一个子目录,例如win,命令如下:     # mkdir /usr/share/fonts/win 3. 将msyh.ttf和msyhbd.ttf复制到该目录下,例如这两个文件放在/root/Desktop下

u010943460的专栏 1万+

IMSL CNL 7.0.0 (x86-64)Crack

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

PIL库 : 居中对齐写入文本(英文 / 中文)

英文 文本 的居中对齐 from PIL import Image, ImageDraw W, H = (600,360) msg_english = ''' SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL SECRE

蚂蚁小兵 3692

关于前面maven的配置补充

这个lifecycle-mapping-metadata.xml文件在相关的目录中是不存在的,这是工作区的配置,如果在项目pom.xml中如果不做声明的话,在使用maven插件时会报各种错误。1、在eclipse中,点击window-->Preferences中,找到Maven-->LifecycleMappings选项,如下图所示。

2403_87142815的博客 795

IntelliJ IDEA常用插件一览,让效率成为一种习惯

专注于Java领域优质技术号,欢迎关注梁桂钊、陈同学、张帆、刁政欣(研习小组)| 作者一、官方工具IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。1. REST client在日常开发过程中,我们或多或少都涉及到...

weixin_33712881的博客 1434

idea lifecycle-mapping插件无法引入_体积虽小,功能不少!SSM/SpringBoot代码生成器新增idea插件支持,安装到idea可直接使用!...

前言  开发代码生成器到现在,取得了一些关注,我感到十分荣幸,最近有不少朋友反应说代码生成器如果能安装到idea中就好了,那样用起来将会十分方便,既然这样,只有满足各位! 之前没有开发过idea插件,所以今天找了个demo看了一下,发现跟安卓很像,因为之前有过一点安卓开发的经验,所以很快便完成了,让我们一起看一下吧!顺便讲一下开发idea插件相关的入门知识,因为我发现这类的教...

weixin_39816260的博客 454

maven生命周期

Lifecycle 一个标准的构建Lifecycle包含了如下的phase: validate: 用于验证项目的有效性和其项目所需要的内容是否具备 initialize:初始化操作,比如创建一些构建所需要的目录等。 generate-sources:用于生成一些源代码,这些源代码在compile phase中需要使用到 process-sources:对源代码进行一些操作,例如过滤一些源代码...

我3的博客 227

架构师工具箱(二)Maven——全面理解Maven的Lifecycle,phase,Goal

写在前面: 你好,欢迎关注! 我热爱技术,热爱分享,热爱生活, 我始终相信:技术是开源的,知识是共享的! 博客里面的内容大部分均为原创,是自己日常的学习记录和总结,便于自己在后面的时间里回顾,当然也是希望可以分享 自己的知识。如果你觉得还可以的话不妨关注一下,我们共同进步! 个人除了分享博客之外,也喜欢看书,写一点日常杂文和心情分享,如果你感兴趣,也可以关...

在路上 1712

【游戏开发解答】Unity发布微信小游戏,中文字无法显示的问题(自制字体库 | Font | Custom set | 动态字体 | 静态字体)

【游戏开发解答】Unity发布微信小游戏,中文字无法显示的问题(自制字体库 | Font | Custom set | 动态字体 | 静态字体)

linxinfa的专栏 1万+
上一篇: 跟着JHipster学做项目(3) - Maven的使用技巧(上)分离jar和依赖
下一篇: 跟着JHipster学做项目 (4)审计功能
java_augur
博客等级 码龄22年 67粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值