在idea中將java項目中的單個類打包成jar包操作
JAR文件的全稱是Java Archive File,即Java檔案文件。JAR文件是一種壓縮文件,與常見的ZIP壓縮文件兼容,被稱為JAR包。
JAR文件與zip文件的主要區別是在JAR文件中默認包含了一個名為META-INF/MANIFEST.MF的清單文件,這個清單文件是在生成JAR文件時系統自動創建的。
打包jar包
1.先創建一個要打包成jar包的類
2.File -> Project Structrue -> Artifacts -> + -> JAR -> from modules with dependencies…
3.再Main Class中選擇要打包的類
project -> 選擇打包的類 -> 然后OK
project -> 點擊OK后,會彈出錯誤提示框,關閉該提示框,并關閉類選擇框
點擊OK
4.Apply -> OK
5.Build -> Build Artifacts
6.點擊Build后就會再之前選擇的jar存放目錄中生成jar包
導入jar包使用
1.File -> Project Structrue -> Modules ->Dependencies -> + -> jARs or directories…
2.在jar包的存放目錄中找到jar包,然后點擊OK
3.選擇jar包 -> Apply -> OK
4.然后就可以在External Libraries中看到導入的jar包
5.將之前的MyJar類刪除掉,然后新建一個測試類Test,測試一下jar包是否可以,這里可以正常使用
補充知識:idea打包Jar(純java項目可執行主類)
1、用maven-shade-plugin打包
我們這里利用maven中的maven-shade-plugin插件。在pom.xml中,我們加入如下的信息來加入插件。
<!-- 配置打可執行的jar --><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.4</version> <executions> <execution> <phase>package</phase> <goals><goal>shade</goal> </goals> <configuration><transformers> <transformer implementation='org.apache.maven.plugins.shade.resource.AppendingTransformer'> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation='org.apache.maven.plugins.shade.resource.AppendingTransformer'> <resource>META-INF/spring.schemas</resource> </transformer> <!-- 執行主類入口--> <transformer implementation='org.apache.maven.plugins.shade.resource.ManifestResourceTransformer'> <mainClass>com.mina.test.TestServer</mainClass> </transformer></transformers> </configuration> </execution> </executions></plugin>
把spring.handlers和spring.schemas文件以append方式加入到構建的jar包中,這樣就不會存在出現xsd找不到的情況。
配置完pom后,調用mvn clean install命令進行構建,構建成功后打開工程target目錄,發現生成了2個jar包,一個為:original-XXX-0.0.1-SNAPSHOT.jar,另一個為:XXX-0.0.1-SNAPSHOT.jar,其中original...jar里只包含了工程自己的class文件,而另外的一個jar包則包含了工程本身以及所有依賴的jar包的class文件。我們只需要使用第二個jar包就可以了。
2、用IDEA自帶的打包方式
打開IDEA的file -> Project Structure,進入項目配置頁面。如下圖:
點擊Artifacts,進入Artifacts配置頁面,點擊 + ,選擇如下圖的選項。
進入Create JAR from Modules頁面,按照如下圖配置。
第一步選擇Main函數執行的類。
第二步選擇如圖的選項,目的是對第三方Jar包打包時做額外的配置,如果不做額外的配置可不選這個選項(但不保證打包成功)
第三步需要在src/main目錄下,新建一個resources目錄,將MANIFEST.MF文件保存在這里面,因為如果用默認缺省值的話,在IDEA12版本下會有bug。
點擊OK之后,出現如下圖界面,右鍵點擊<output root>,點擊Create Directory,創建一個libs,將所有的第三方JAR放進libs目錄下。
成功之后,如下圖所示:
放入之后,點擊我們要打成的jar的名字,這里面是kafka-cps.jar,選擇classpath進行配置。
編輯的結果如下:
這里將所有的jar都寫在libs/里面。點擊OK,回到配置頁面。
同時還注意在配置頁面,勾選build on make
最后點擊配置頁面的OK,完成配置?;氐絀DEA,點擊Build->Build Artifacts,選擇build
就會生成我們需要的jar包。其位置在項目目錄的out目錄下/out/artifacts/kafka_cps_jar。
下面放一個正確配置的清單文件內容
以上這篇在idea中將java項目中的單個類打包成jar包操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
