当前位置:首页 >> 教育
教育

Maven 该软件之shade 使用

2025-09-23 12:19

File outputPomPath = new File(publishModulePomPath); DefaultModelWriter defaultModelWriter = new DefaultModelWriter(); defaultModelWriter.write(outputPomPath, new HashMap<>(), model); } catch (exception e) { log.error("addPluginToPublishModulePom exception ,publishModulePomPath:{} ,e:{}", publishModulePomPath, e); } } private void addMavenSourcePlugin(Model model) { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setGoals(Lists.newArrayList("jar-no-fork")); pluginExecution.setId("attach-sources"); pluginExecution.setPhase("verify"); Plugin mavenSourcePlugin = new Plugin(); mavenSourcePlugin.setArtifactId("maven-source-plugin"); mavenSourcePlugin.setVersion("3.0.1"); mavenSourcePlugin.setExecutions(Lists.newArrayList(pluginExecution)); model.getBuild().getPlugins().add(mavenSourcePlugin); } private void addMavenShadePlugin(Model model) { PluginExecution pluginExecution = new PluginExecution(); pluginExecution.setGoals(Lists.newArrayList("shade")); pluginExecution.setPhase("package"); Plugin mavenShadePlugin = new Plugin(); mavenShadePlugin.setArtifactId("maven-shade-plugin"); mavenShadePlugin.setGroupId("org.apache.maven.plugins"); mavenShadePlugin.setVersion("3.1.1"); mavenShadePlugin.setExecutions(Lists.newArrayList(pluginExecution)); final Xpp3Dom mavenPluginConfiguration = new Xpp3Dom("configuration"); final Xpp3Dom artifactSet = new Xpp3Dom("artifactSet"); mavenPluginConfiguration.addChild(artifactSet); final Xpp3Dom includes = new Xpp3Dom("includes"); artifactSet.addChild(includes); String packagePrefixString = ConfigService.getAppConfig().getProperty("maven.shade.plugin", "[]"); List packagePrefixList = JSON.parseArray(packagePrefixString, String.class); // 做一些过滤,减少包在的大小 if (CollectionUtils.isNotEmpty(packagePrefixList)) { packagePrefixList.stream().forEach(packagePrefix -> { final Xpp3Dom packagePrefixDom = new Xpp3Dom("include"); packagePrefixDom.setValue(packagePrefix + ".*:*"); includes.addChild(packagePrefixDom); }); } mavenShadePlugin.setConfiguration(mavenPluginConfiguration); model.getBuild().getPlugins().add(mavenShadePlugin); }最后效果 通过示例,最后装配的 POM.xml 文件如上图所示

北京看白癜风哪家专科医院好
三亚看男科的医院哪家好
天津看男科去什么医院最好
沈阳白癜风医院哪家比较好
深圳看白癜风哪家比较好

上一篇: 亚马逊宣布今年将举办两场Prime Day;箱包进口订单排到年底

下一篇: 没有了

相关阅读
我国首家血管重症监护室在北京大学唐山市医院成立

新京报资(记者张秀兰)5月底24日,北京大学宝钢病房宣布,病房心肌医学中所心心肌诊集中管理室(VCU)批复月成立并已月开始运行,这也是我国首家心肌相关传染病诊集中管理室。 心肌医

63岁女子被蚊虫叮咬,面部咳嗽近一年,医生:系14年前整容注射的药物惹的祸

一次小小的排泄物跳蚤,居然令六旬女子右脸过后咳嗽。亦同,该女子带至华中师范大学南大该医院就诊,而无须发现竟是多年前静脉注射“奥美定”Tun的祸。经过移植手术,精神科将她头部的“奥美定”放到,帮助

友情链接