自己怎么做新闻开头视频网站,一级造价工程师注册管理系统,淘宝客网站开发上架,网络营销是什么工作主要干啥最近开发的产品#xff0c;我们是有四五个maven模块#xff0c;开发阶段一直是在eclipse中运行的#xff0c;然后快发版的时候#xff0c;需要把这些项目打成jar包#xff0c;通过命令去启动#xff0c;那首先就得把这些模块项目打包#xff0c;或者拷贝一些资源文件等等…最近开发的产品我们是有四五个maven模块开发阶段一直是在eclipse中运行的然后快发版的时候需要把这些项目打成jar包通过命令去启动那首先就得把这些模块项目打包或者拷贝一些资源文件等等。 1.maven打包首先在pom文件中加上build属性和dependencies是同级的
build!--打包出来的文件名,可以不填写有默认值--finalNameTest/finalNameplugins!--这块写插件--/plugins
build2.maven-compiler-plugin编译插件可能会用到的一些配置如下
plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-compiler-plugin/artifactId version3.1/version configuration source1.8/source target1.8/target /configuration
/plugin3.maven-jar-plugin打jar包的插件把整个maven工程打成jar包可能会用到的一些配置如下
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-jar-plugin/artifactIdversion2.4/versionconfigurationarchive!-- 生成的jar中包含pom.xml和pom.properties这两个文件 --addMavenDescriptortrue/addMavenDescriptor!-- 生成MANIFEST.MF的设置 --manifest!--这个属性特别关键如果没有这个属性有时候我们引用的包maven库下面可能会有多个包并且只有一个是正确的其余的可能是带时间戳的此时会在classpath下面把那个带时间戳的给添加上去然后我们在依赖打包的时候打的是正确的所以两头会对不上报错。--useUniqueVersionsfalse/useUniqueVersions!-- 为依赖包添加路径, 这些路径会写在MANIFEST文件的Class-Path下 -- addClasspathtrue/addClasspath!-- 这个jar所依赖的jar包添加classPath的时候的前缀如果这个jar本身和依赖包在同一级目录则不需要添加--classpathPrefixlib//classpathPrefix!-- jar启动入口类--mainClasscom.test.Test/mainClass/manifestmanifestEntries!-- 在Class-Path下添加配置文件的路径 --Class-Path../config//Class-Path!-- 假如这个项目可能要引入一些外部资源但是你打包的时候并不想把这些资源文件打进包里面这个时候你必须在这边额外指定一些这些资源文件的路径这个位置指定的话要根据你预期的这些位置去设置我这边所有jar都在lib下资源文件都在config下lib和config是同级的 --!-- 同时还需要注意另外一个问题假如你的pom文件里面配置了scopesystem/scope,就是你依赖是你本地的资源这个时候使用这个插件classPath里面是不会添加所以你得手动把这个依赖添加进这个地方用空格隔开就行--/manifestEntries/archive!-- jar包的位置--outputDirectory${project.build.directory}/lib/outputDirectoryincludes!-- 打jar包时只打包class文件 --!-- 有时候可能需要一些其他文件这边可以配置包括剔除的文件等等--include**/*.class/include/includes/configuration
/plugin4.maven-dependency-plugin用来拷贝项目所有依赖的插件可能会用到的一些配置如下
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdexecutionsexecutionidcopy-dependencies/idphasepackage/phasegoalsgoalcopy-dependencies/goal/goalsconfiguration!-- 拷贝项目依赖包到lib/目录下 --outputDirectory${project.build.directory}/lib/outputDirectory!-- 间接依赖也拷贝 --excludeTransitivefalse/excludeTransitive!-- 带上版本号 --stripVersionfalse/stripVersion/configuration/execution/executions
/plugin5.maven-resources-plugin用来拷贝项目中的一些资源文件可能会用到的一些配置如下
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-resources-plugin/artifactIdversion2.6/versionexecutions!-- 一个execution就是一个目标输入位置如果想把各种资源拆开放的话就可以创建多个execution一个资源文件可以被拷贝多份 --executionidcopy-resources/idphasepackage/phasegoalsgoalcopy-resources/goal/goalsconfigurationencodingUTF-8/encoding!-- 资源文件的输出目录 --outputDirectory{project.build.directory}/config/outputDirectoryresources!-- 资源文件的原始目录有多个的话就多配几个 --resource!-- 原始目录 --directorysrc/main/resources/directory!-- 是否使用过滤器如果是的话需要配置一下才行这个后续再研究这边没有使用到 --filteringtrue/filtering!-- 包含哪些文件以及去除调哪些文件等等 --includesinclude**/*.*/include/includesexcludesexclude**/*.json/exclude/excludes/resource/resources/configuration/execution/executions
/plugin以上就是这4个插件后续如果还有其余插件或者这些插件中一些新内容会及时添加。关于一些文件的输出目录一定要根据自己的需求来先明白自己想要什么再去配置或者两者互相迭代吧。