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

 

posted @ 2019-12-09 18:02  BigWrite  阅读(6891)  评论(0编辑  收藏  举报