idea maven使用之——打胖包瘦包
注意事项
- 更改程序代码后要build后才能被打进jar包
- 更改pom.xml后要bulid mavn 如下图:
idaa打jar包
先到项目目录查看是否存在META-INF文件夹,有的话删掉.META-INF文件夹里的MANIFEST.MF存放的是打包时的配置信息,一般在Resource root目录(maven项目一般默认是在java文件夹)下
-
菜单栏>File>Project Structure
-
配置Artifacts
-
添加jar包
-
配置jar包存放地址,名称,依赖等
1: 添加jar包2: jar包名称
3: 存放路径
4: 依赖
-
-
配置完成后"ok"保存
Maven打包
-
打无依赖jar包
- 在pom.xml文件中添加maven-jar-plugin插件(如果有的话在原有基础上修改)
<plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <!-- 生成的jar中,不要包含pom.xml和pom.properties这两个文件--> <addMavenDescriptor>false</addMavenDescriptor> <manifest> <!--是否要把第三方jar放到manifest的classpath中--> <addClasspath>true</addClasspath> <!-- 生成的manifest中classpath的前缀,因为要把第三方jar放到lib目录下,所以classpath的前缀是lib/--> <classpathPrefix>lib/</classpathPrefix> <!--应用的main class--> <mainClass>com.mavenpackage.test.App</mainClass> </manifest> </archive> <!--过滤掉不希望包含在jar中的文件--> <excludes> <exclude>${project.basedir}/xml/*</exclude> </excludes> </configuration> </plugin>
- 执行
-
打有依赖的jar包
-
配置pom.xml
添加插件maven-compiler-plugin和maven-assembly-plugin<build> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version> <configuration> <archive> <manifest> <!--设置主类--> <mainClass>com.driver.MyDriver</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </pluginManagement> </build>
-
在Loacl(快捷键alt+F12)执行命令:
mvn package assembly:single
-
会生成名字为YourName-1.0-SNAPSHOT-jar-with-dependencies的jar包
-