网站实名认证必须做么,中山市做网站实力,电商网站平台有哪些功能模块,想兼职做网站推广文章目录 一、问题和现象二、解决方法#xff08;1#xff09;方法一、maven-jar-pluginmaven-dependency-plugin#xff08;2#xff09;方法二、maven-assembly-plugin 一、问题和现象
现在的开发一直都是用spring boot#xff0c;突然有一天#xff0c;要自己开发一个… 文章目录 一、问题和现象二、解决方法1方法一、maven-jar-pluginmaven-dependency-plugin2方法二、maven-assembly-plugin 一、问题和现象
现在的开发一直都是用spring boot突然有一天要自己开发一个没有springboot的程序才想起mvn package都快遗忘了。主要存在两个问题 打包的程序没有main入口。 打包的程序没有包含依赖。
二、解决方法
这里有两种方法
1方法一、maven-jar-pluginmaven-dependency-plugin
这种方法最后生成的jar包不会把依赖放到jar里只是会把/lib放到跟jar一个目录。看下图
maven-jar-plugin 负责打jar包写main入口maven-dependency-plugin 负责找出依赖把所有依赖copy到lib目录中。
优点发布新程序的时候-速度快。缺点第一次依赖lib要自己copy
源代码我就不多讲解了。这里贴出我的pom.xml
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.apep/groupIdartifactIdtruncate_db/artifactIdversion1.0-SNAPSHOT/versiondescription定时删除N天前的历史数据/descriptionpackagingjar/packagingpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.27/version/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.16/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-jar-plugin/artifactIdversion3.3.0/versionconfigurationarchivemanifestaddClasspathtrue/addClasspathmainClassTruncateApplication/mainClass!--将依赖的存放位置添加到 MANIFEST.MF 中--classpathPrefixlib//classpathPrefix/manifest/archive/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdversion3.6.0/versionexecutionsexecutionidcopy-dependencies/idphasepackage/phasegoalsgoalcopy-dependencies/goal/goalsconfigurationoutputDirectory${project.build.directory}/lib/outputDirectory/configuration/execution/executions/plugin/plugins/build
/project2方法二、maven-assembly-plugin
这种方法是把lib打到jar中的方法
先上代码
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.apep/groupIdartifactIdtruncate_db/artifactIdversion1.0-SNAPSHOT/versiondescription定时删除N天前的历史数据/descriptionpackagingjar/packagingpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.27/version/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.16/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdversion2.5.5/versionconfigurationarchivemanifestmainClassTruncateApplication/mainClass/manifest/archivedescriptorRefsdescriptorRefjar-with-dependencies/descriptorRef/descriptorRefs/configurationexecutionsexecutionidmake-assembly/idphasepackage/phasegoalsgoalsingle/goal/goals/execution/executions/plugin/plugins/build
/project最后看一下生成的文件 明显比刚才大了很多。