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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM