一、打包方式 IDEA+Maven打JAR包的两种方法_清平乐的技术专栏的博客-****博客_idea maven打jar包
1、 idea build打包
(1)依次选择 file->projecct structure->artifacts->点击+ (选择jar)->选择 from module with dependencies
(2)弹出窗口中指定Main Class
(3)点击Build–>Build Artifacts–>选择bulid
2、idea 右侧Maven工具打包:
3、命令行打包 命令加-D可设置参数配置 maven命令行打jar包_mb607022e25a607的技术博客_51CTO博客
pom文件目录运行 mvn package
二、打包注意事项
1、指定Main-Class
2、要能加载到依赖包
用maven打包 一定要配置好pom文件:
中java-1.0.引入并获取视频的时长、大小、格式等信息百分百可行_陈永佳的博客-****博客_jave-1.0.2
三、运行jar包
运行jar: java -jar
注意编译的jdk版本和运行的jdk虚拟机是同一个版本 用jdk8编译打包的jar包 不能在jdk6中运行。
四、导入本地依赖
mvn install:install-file -DgroupId= -DartifactId=jdbc -Dversion=5.1.49 -Dpackaging=jar -Dfile=%jar包位置%/ib/mysql-connector-java-5.1.
五、将仓库依赖和本地依赖及程序源码一同打包maven打包--同时将仓库依赖和本地依赖的jar包也打进去_我就算饿死也不做程序员的博客-****博客_maven打包的时候将依赖的jar包也打进去
六、maven的三种打包插件的介绍
(一)、maven-jar-plugin
可执行jar包与依赖包是分开的,需要建立lib目录来存放所需的依赖包,且jar包与lib目录在同级别目录中。只是编译src/main/java 和src/main/resources/ 下的java 文件。
(二)、maven-assembly-plugin
此插件将所有依赖 JAR 提取到原始类中并将它们组合在一起.它还可用于通过指定主类来构建可执行 JAR.它仅适用于依赖较少的项目;对于依赖较多的大型项目,会导致Java类名冲突.
(三)、maven-shade-plugin 有个单独的配置文件
它将所有依赖项打包到一个uber-JAR中。通过指定主类,它还可用于构建可执行的JAR。该插件特别有用,因为它合并了特定文件的内容,而不是通过重定位类覆盖它们。当在JAR中存在具有相同名称的资源文件,并且插件尝试将所有资源文件打包在一起时,这是必需的。
(四)、maven-assembly-plugin 和 maven-shade-plugin的区别:
二和三的区别是对同名文件的处理,2是覆盖,3是追加。
Maven Assembly Plugin 和 Shade Plugin 都可以用来在构建单一 Jar 包时,将所有 Dependency 打入这个最终生成的 Jar 中去。 但是两者在具体的行为上有所不同:Assembly 插件不仅会将 Dependency 中的 Class 文件打入最终的 Jar 包,还会将 Dependency 中的资源文件,诸如 properties 文件打入最终的 Jar 包。 当项目和其 Dependency 中有同名的资源文件是,就会发生冲突,项目中的同名文件便不会加入到最终的 Jar 包中。 如果这个文件是一个关键的配置文件,便会导致问题。而 Shade Plugin 不存在这样的问题。