校园网站设计与实现,新的网站设计制作,下载了wordpress然后怎么用,wordpress 微言插件文章目录 一、配置项提示二、父子打包三、打包之后不显示target四、自定义打包之后的jar包名称五、整个项目打包5.1、父项目管理插件和微服务打包 一、配置项提示
SpringBoot中提示错误信息 表示的是SpringBoot中的注释提示没有配置#xff01;那么可以来使用一下springboot官… 文章目录 一、配置项提示二、父子打包三、打包之后不显示target四、自定义打包之后的jar包名称五、整个项目打包5.1、父项目管理插件和微服务打包 一、配置项提示
SpringBoot中提示错误信息 表示的是SpringBoot中的注释提示没有配置那么可以来使用一下springboot官方的注解处理器来解决这个问题
可以直接点击链接进去
现在依赖中引入对应依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional
/dependency然后在打包插件中排除掉打包进去的注释处理器
projectbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactId/exclude/excludes/configuration/plugin/plugins/build
/project二、父子打包
打包须知
这种微服务项目或者说是maven父子级项目打包要解决的问题就是具体业务代码依赖工具类代码利用idea的maven插件可以很方便做到。在上层文件夹管理模块中添加 pom (没有业务代码只做包含其他包的父类空包) 在没有main方法的工具模块中只添加 jar 在具体的业务代码模块中添加
build!--maven的打包插件--plugins!--忽略测试类--plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-surefire-plugin/artifactIdconfigurationtestFailureIgnoretrue/testFailureIgnore/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins!--打包规则打包时将resource文件夹打包进去--resourcesresourcedirectorysrc/main/java/directoryincludesinclude**/*.yml/includeinclude**/*.properties/includeinclude**/*.xml/include/includesfilteringfalse/filtering/resourceresourcedirectorysrc/main/resources/directoryincludesinclude**/*.yml/includeinclude**/*.properties/includeinclude**/*.xml/include/includesfilteringfalse/filtering/resource/resources
/build这样只需在每个有mian方法的具体的业务模块中的pom中添加
plugins!--忽略测试类--plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-surefire-plugin/artifactIdconfigurationtestFailureIgnoretrue/testFailureIgnore/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin
/plugins最终打包只需对最顶层模块进行cleaninstall在每个模块对应的target目录中找到jar包。
三、打包之后不显示target 然后就会有对应的显示了。 四、自定义打包之后的jar包名称
没有更改名称之前stock-1.0-SNAPSHOT.jar
但是当前没有版本也不是自己想要的名称但是改名字的话比较简单下面来进行说明一下
直接进入到pom文件中来可以看到pom文件配置如下 parentartifactIdtuling-mall-demo1-parent/artifactIdgroupIdcom.guang/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdstock/artifactId那么我们可以自定义改名称 parentartifactIdtuling-mall-demo1-parent/artifactIdgroupIdcom.guang/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdstock/artifactIdversion1.0.0/versionnamestock/name只是添加了版本号和对应的服务名称打包后的名称就如同上诉所示。
其实我觉得这里的name应该和微服务名称保持一致。
然后再次来查对应的jar包就可以看到名称已经发生修改了stock-1.0.0.jar
五、整个项目打包
直接在父工程中来进行打包的时候发现出现异常
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3
原因分析项目里面包含了某些工具类的模块而工具类模块是不需要我们启动的只是提供给其他微服务引用而已不需要启动就意味着 没有main启动类,但是父工程的pom文件却引用了 springboot打包插件 spring-boot-maven-plugin,即: !--springboot 打包插件--plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin所以在打包的时候mvn会扫描所有的依赖模块,如果发现某个模块下面没有main启动类,就会报错。
那么解决问题就比较容易了不在父工程中添加打包插件而是在有启动类的微服务中来进行添加打包插件。
5.1、父项目管理插件和微服务打包
所以最佳实践应该是在父pom文件中添加插件管理然后在具体的微服务中引入插件
父pom.xml文件
buildpluginManagementplugins!-- java编译插件 --!--maven打包插件,可打直接可运行的jar包或war包--plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${boot.version}/versionconfigurationexcludesexcludegroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactId/exclude/excludes/configuration/plugin/plugins/pluginManagement
/build具体的微服务
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${boot.version}/version/plugin/plugins
/build在打包的时候也可以将spring-boot-configuration-processor给排除掉。