html 网站根目录,网站建设合同要存档几年,cms网站模板套用教程,网站怎么自己优化Maven工程打jar包 一、IDEA自带打包插件二、maven插件打包2.1 制作瘦包#xff08;直接打包#xff0c;不打包依赖包#xff09;2.2 制作瘦包和依赖包#xff08;相互分离#xff09;2.3 制作胖包#xff08;项目依赖包和项目打为一个包#xff09;2.4 制作胖包#xf… Maven工程打jar包 一、IDEA自带打包插件二、maven插件打包2.1 制作瘦包直接打包不打包依赖包2.2 制作瘦包和依赖包相互分离2.3 制作胖包项目依赖包和项目打为一个包2.4 制作胖包transform部分自定义 三、SpringBoot项目打包四、Scala项目打包五、groovy项目打包 一、IDEA自带打包插件 内容此种方式可以自己选择制作胖包或者瘦包但推荐此种方式制作瘦包。 输出输出目录在out目录下 流程步骤 第一步 依次选择 file-projecct structure-artifacts-点击 (选择jar)-选择 from module with dependencies 第二步弹出窗口中指定Main Class是否选择依赖jar包是否包含测试。尽量不选依赖包防止依赖包选择不全 第三步点击Build–Build Artifacts–选择bulid 二、maven插件打包 输出输出目录在target目录下 2.1 制作瘦包直接打包不打包依赖包 内容仅打包出项目中的代码到JAR包中。 方式在pom.xml中添加如下plugin; 随后执行maven install !-- java编译插件 --
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion指定版本/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration
/plugin2.2 制作瘦包和依赖包相互分离 内容将依赖JAR包输出到lib目录方式打包方式对于JAVA项目是通用的 将项目中的JAR包的依赖包输出到指定的目录下,修改outputDirectory配置如下面的${project.build.directory}/lib。 方式 pom.xml的buildplugins中添加如下配置。点击maven project右边栏-选择Lifecycle-点击package打包 注意如果想将打包好的JAR包通过命令直接运行如java -jar xx.jar。需要制定manifest配置的classpathPrefix与上面配置的相对应。如上面把依赖JAR包输出到了lib则这里的classpathPrefix也应指定为lib/同时并指定出程序的入口类在配置mainClass节点中配好入口类的全类名。 plugins
!-- java编译插件 --
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration
/plugin
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-jar-plugin/artifactIdconfigurationarchivemanifestaddClasspathtrue/addClasspathclasspathPrefixlib//classpathPrefixmainClasscom.yourpakagename.mainClassName/mainClass/manifest/archive/configuration
/plugin
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdexecutionsexecutionidcopy/idphaseinstall/phasegoalsgoalcopy-dependencies/goal/goalsconfigurationoutputDirectory${project.build.directory}/lib/outputDirectory/configuration/execution/executions
/plugin
/plugins注意默认的classpath会在jar包内。为了方便,可以在Main方法配置后加上manifestEntries配置指定classpath。 plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-jar-plugin/artifactId configuration classesDirectorytarget/classes//classesDirectory archive manifest !-- 主函数的入口 -- mainClasscom.yourpakagename.mainClassName/mainClass !-- 打包时 MANIFEST.MF文件不记录的时间戳版本 -- useUniqueVersionsfalse/useUniqueVersions addClasspathtrue/addClasspath classpathPrefixlib//classpathPrefix /manifest manifestEntries Class-Path./Class-Path /manifestEntries /archive /configuration
/plugin 2.3 制作胖包项目依赖包和项目打为一个包 内容将项目中的依赖包和项目代码都打为一个JAR包 方式 pom.xml的buildplugins中添加如下配置点击maven project右边栏-选择Plugins-选择assembly-点击assembly:assembly 注意1. 针对传统的JAVA项目打包 2. 打包指令为插件的assembly命令尽量不用package指令。 plugingroupIdorg.apache.maven.plugins/groupId artifactIdmaven-assembly-plugin/artifactId version2.5.5/version configuration archive manifest mainClasscom.xxg.Main/mainClass /manifest /archive descriptorRefs descriptorRefjar-with-dependencies/descriptorRef /descriptorRefs /configuration
/plugin 2.4 制作胖包transform部分自定义 plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-shade-plugin/artifactIdversion2.4.3/versionexecutionsexecutionphasepackage/phasegoalsgoalshade/goal/goalsconfigurationfiltersfilterartifact*:*/artifactexcludesexcludeMETA-INF/*.SF/excludeexcludeMETA-INF/*.DSA/excludeexcludeMETA-INF/*.RSA/exclude/excludes/filter/filterstransformerstransformer implementationorg.apache.maven.plugins.shade.resource.AppendingTransformerresourceMETA-INF/spring.handlers/resource/transformertransformer implementationorg.apache.maven.plugins.shade.resource.AppendingTransformerresourceMETA-INF/spring.schemas/resource/transformertransformer implementationorg.apache.maven.plugins.shade.resource.AppendingTransformerresourceMETA-INF/spring.tooling/resource/transformertransformer implementationorg.apache.maven.plugins.shade.resource.ManifestResourceTransformermainClasscom.xxx.xxxInvoke/mainClass/transformer/transformersminimizeJartrue/minimizeJarshadedArtifactAttachedtrue/shadedArtifactAttached/configuration/execution/executions
/plugin三、SpringBoot项目打包 内容将当前项目里所有依赖包和当前项目的源码都打成一个JAR包同时还会将没有依赖包的JAR包也打出来以.original保存 方式 在pom.xml的buildplugins中加入如下配置点击maven project右边栏-选择Lifecycle-点击package或install打包 plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId
/plugin四、Scala项目打包 方式 在pom.xml的buildplugins中加入如下配置点击maven project右边栏-选择Lifecycle-点击package或install打包 plugingroupIdorg.scala-tools/groupIdartifactIdmaven-scala-plugin/artifactIdexecutionsexecutiongoalsgoalcompile/goalgoaltestCompile/goal/goals/execution/executionsconfigurationscalaVersion${scala.version}/scalaVersionargsarg-target:jvm-1.5/arg/args/configuration
/plugin五、groovy项目打包 方式 在pom.xml的buildplugins中加入如下配置点击maven project右边栏-选择Lifecycle-点击package或install打包 plugingroupIdorg.codehaus.gmavenplus/groupIdartifactIdgmavenplus-plugin/artifactIdversion1.2/versionexecutionsexecutiongoalsgoaladdSources/goalgoaladdStubSources/goalgoalcompile/goalgoalexecute/goal/goals/execution/executions
/plugin