idea 打jar包(包含第三方jar)
项目依赖有第三方jar包,
方式一,idea打包
或者
file=>project structure =>Artifacts +
选择你的main方法,jar处理选择单独输出,程序清单选择src,
你会看到,所有依赖jar包都单独处理了,和你的主程序在同一路径下,如果想把依赖jar包转到 lib下,
然后将jar拖入lib目录下,并修改 classpath
在每个jar包前,加上路径 /lib
最后
打出jar包,jar包路径默认在项目的out路径下
运行命令,切换到jar包所在文件夹后 java -jar XXX.jar
方式二,maven插件
pom.xml
添加以下代码
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.beyonds.dam.DataTransferMain</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-lib</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> </plugins> </build>
首先设定好,你的main方法,然后运行命令
这时你的项目jar包已经打包完成,在执行
copy 第三方jar包,路径为 target/dependency ,你需要copy一份到同级下,文件夹名称为lib。这个是在第一个
<classpathPrefix>lib/</classpathPrefix> 中设置的,可以自己调整。
打包出的项目jar包在 target路径下,依赖包在 dependency下,由于classpath设置的是 lib,需要搞一个统计副本。
运行命令,到项目jar包路径下,执行 java -jar XXX.jar