1. 程式人生 > >eclipse工程詳解以及如何打jar包

eclipse工程詳解以及如何打jar包

最近一直對eclipse的執行機制和打包方法很是困惑,上網找了一些資料,可大多都是零零散散,缺少系統性,我想在這裡總結一下和大家分享,也希望大家讀完後發現有什麼不對的地方留言與我聯絡,我一定及時改正!

eclipse工程目錄詳解

我使用eclipse在本地新建一個project如下:

project目錄

下面分別對該目錄中的資料夾進行解釋

  • src:源程式檔案,主要存放我們編寫的java源程式,也就是.java檔案
  • JRE System Library:主要存在java的標準庫,比如我們常用的java.lang包或者java.util包都在這個目錄的rt.jar下
  • Referenced Libraries:主要存放我們引用的外部jar包,比如我們操縱oracle必須使用的ojdbc14.jar。但必須build之後才能存放到這裡,這個我們後面再講。
  • .settings:該資料夾下主要存放eclipse的配置檔案,.classpath存放eclipse的類搜尋路徑;.project主要描述工程的基本資訊。
  • 這裡我想再說一下classpath檔案:.classpath 的位置定義了你這個專案在編譯時所使用的$CLASSPATH。classpath 的配置是有先後順序的,JVM 搜尋classpath 的策略是從前到後搜尋,如果在搜尋過程中,已經找到需要載入的類,那麼就不再向後搜尋。所以,如果在classpath 中存在重複的類,那麼JVM 只加載classpath 配置中,位置靠前的類。後面的類就不會被載入了。

build path詳解

假如我現在想對oracle進行操作,那麼我必須要引入ojdbc14.jar,對於這種外部引入的包,我們一般採用如下方法處理:
1. 在當前工程上右擊,建立lib資料夾。
2. 將所需的外部jar包(或者class,甚至可以直接是java,eclipse在引用時可以直接編譯)拷貝到lib資料夾下。
3. 在引入的包上右擊→Build Path→Add to Build Path,這就將我們的jar包build到我們的專案中了,這時開啟.classpath檔案可以看到如圖classpath新添加了我們的ojdbc14.jar的路徑,這也是我們build的目的
.classpath檔案

ps1:關於這一點我要在申明一下,在論壇上見到一個朋友問自己做了一個專案,將專案所需引用的jar包放到一個資料夾下,然後在環境變數中配置了這個路徑,但是eclipse卻識別不了。

其實我們在用eclipse開發專案時,對每個專案都需要配置classpath,具體怎麼配上面已經解釋過了。我認為專案是獨立於電腦環境變數的classpath的,每一個專案都需要它特定的classpath,所以在eclipse開發的時候每一個專案都會有一個.classpath檔案

ps2:為什麼每個專案需要自己的classpath?

我認為eclipse這是為了讓你更好的生成專案,試想:如果你不build你當前引用jar,而只是將其放到電腦配置的classpath中,這樣如果能夠執行。但一旦你移植到別的電腦上,可能你的專案就不能用了,因為你沒有build,而其他電腦的classpath並不一定和你開發時一樣,classpath中也沒有儲存你的引用路徑,所以雖然你的引用包都拷過去了,但是jvm找不到它

我們做專案的目的是為了讓使用者使用,所以很多時候生成的jar包是可執行jar包。但是你把引用build進去之後就可以直接打包發給使用者讓使用者去用了嗎?其實並不見得,如果你是最後直接打成一個可執行的jar包。那麼你還要有一個MANIFEST.MF檔案,這個檔案是幹什麼的呢?又該如何打包呢?

eclipse打包及其注意事項

用eclipse打包很簡單,但之前我們需要手動建立MANIFEST.MF檔案。

關於這個檔案,我覺得最好的解釋是:這個檔案決定jar包時可執行jar包還是不可執行jar包的關鍵,MAINFEST.MF中用兩個重要的配置 Class-Path和Main-Class,Main-Class是你的可執行jar包的程式入口,一般是你的主函式所在的類的相對路徑,如果這一項為空,或者是該類中沒有main函式,則該jar不可執行;Class-Path中儲存你的引用包的路徑,如我這裡應該寫lib/ojdbc14.jar。可能有人會問,不是已經在.classpath中build了嗎?但那是eclipse的執行配置,比如當你在win中執行此jar時,系統環境並不讀取.classpath而是讀取MAINFEST.MF
既然有了這個MAINFEST.MF,我們重新整理工程目錄就可以看到

新的目錄

下面介紹打包的流程:

在需要打包的工程右擊→Export:

Export

選擇JAR file,這裡選擇你的jar包輸出路徑

JAR Export

然後next→next。這裡要注意,要選用自己的MANIFEST.MF檔案,不要讓eclipse自動生成,自動生成往往不能配置我們想要的資訊。

然後finish即可輸出jar包。

這是我第一次寫部落格,完全是自己寫的,寫的不好的還請大家見諒,我以後會改進!

相關推薦

eclipse工程以及如何jar

最近一直對eclipse的執行機制和打包方法很是困惑,上網找了一些資料,可大多都是零零散散,缺少系統性,我想在這裡總結一下和大家分享,也希望大家讀完後發現有什麼不對的地方留言與我聯絡,我一定及時改正! eclipse工程目錄詳解 我使用eclipse在本

IDEA 構建為了 jar 工程,包含 maven jar 的過程

一個 inf 裏的 基本 ide 點擊 測試 單表查詢 dea 前言:最近自己寫了一個單表查詢的組件,包含前端、後臺,所以需要向阿裏的 druid 一樣將所有文件打到一個 jar 包裏,這裏首先記錄如何打 jar 包。 一、創建一個簡單的 maven 項目   1、選擇

Eclipse中給maven專案jar

一、 前言 最近寫專案需要將其打成jar上傳到伺服器上,之前一直寫到是web,打的是war包,這次寫的是遊戲伺服器,是jar包。順便記之。 二、maven打包 關於打包有兩種型別:①不帶依賴的打包,②帶依賴的打包 預設情況下我們使用maven insta

eclipsejar與找不到依賴

[TOC] 背景:一個工程要打成jar包,一般兩種情況,要麼是打成一個工具jar讓別人引用,要麼打成一個可執行jar包。那麼不使用maven的情況下通過IDE如eclipse來打包怎麼做這兩件事呢

JAR中的MANIFEST.MF檔案以及編寫規範

JAR包中的MANIFEST.MF檔案詳解以及編寫規範 參考百度百科的解釋如下: http://baike.baidu.com/item/MANIFEST.MF MANIFEST.MF:這個 manifest 檔案定義了與擴充套件和包相關的資料。單詞“manifest”的意思是“

Java之eclipse將工具類Jar、使用jar以及刪除jar

Eclipse如何匯出jar包??? 選中對應的工具類,右鍵==>Export... ==>選中Java目錄下的JAR File==>Next==>選擇匯出路徑==>Fi

Mavenjar之maven-jar-plugin配置,自動生成MANIFEST.MF檔案

一、maven-jar-plugin配置介紹 最近學習springboot多模組打jar包部署專案,用到了maven-jar-p

轉:Eclipse中創建Maven版的Web工程()

搭建 9.png loaded script idt content 註意 simple facet 一、搭建步驟 ?首先創建一個Maven的Project,如下圖: ?點擊Next,勾選 Create a simple project ?點擊Next,註意Pack

spring bootjarwar的區別作用以及需要的改動

spring boot打jar包和打war包的區別作用 此文為轉載:http://mrlee23.iteye.com/blog/2047968   在開發除錯完成之後,可以將應用打

eclipse如何jar

1,工程結構如下: 2,在工程裡建立一個manifest.mf檔案: Manifest-Version: 1.0 Main-Class: com.sim.main.Repeat Class-Path: lib/mysql-connector-java-5.1.40.jar

【Java】開發工具--Eclipse&MySQL官網自選版本下載以及專案jar下載

我們一般在使用開發軟體時,不一定使用最新版本的開發軟體,所以需要選擇適用的開發軟體來開發專案,下面是我總結的eclipse以及mysql官網自選版本下載步驟: Eclipse自選版本下載 百度輸入eclipse,進入eclipse官網地址,點選右上角的Down

java程式在eclipsejar,Linux上成功執行

、eclipse下的java專案結構如下圖所示: 2、manifest.mf檔案定義如下所示  注意: ① manifest.mf檔案最後一行必須是一個空行。 ② lib/dom4j-1.6.1.jar和lib/jaxen-1.1-beta-7.jar之

linux yum命令以及查詢當前哪些需要更新,與更新命令。

yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了

java工程如何jar和war

1.利用jdk裡的工具 例如我們要打包的檔案在d:tomcat7\webapps\demoweb\  目錄中 則  執行 cmd;  cd   d:\tomcat7\webapps\demoweb    輸入jar -cvf  demoweb.war   *  回車 ,會

USB抓工具--Bus Hound的使用方法以及下載

概述 Bus Hound是一個超級軟體匯流排協議分析器,用於捕捉來自裝置的協議包和輸入輸出操作。該軟體是由美國perisoft公司研製的一種專用於PC機各種匯流排資料包監視和控制的開發工具軟體,

android studio工程jar

1.將你的工程專案轉成Model或Libray 在build檔案中配置修改,意思是將該工程修改為庫的形式 原來 apply plugin: ‘com.android.application’ 修改後 apply

eclipseJar問題

1、首先,如果你的Java專案中沒有任何第三方包,是十分容易的,只需要通過eclipse的Export就可以按操作一步步執行,如下: 選擇你要匯出的Java專案,右鍵選擇Export,如下圖,選擇JAR file 然後next,next,選擇我們的啟動類

eclipsejar並使用jar

jar是多個class檔案的壓縮包 打jar包:選中專案–右鍵–Export–java–jar–自己指定一個路徑和一個名稱–Finish 使用jar包:複製到專案路徑下並新增至構建路徑 Java_

Eclipse 匯出可執行Jar檔案(工程)(包含第三方Jar

背景:寫了一個小功能的專案,要匯出可執行的jar包,但是專案中匯入驅動資料庫的包;包含有第三方jar包;但是網上很多方法在打包之前先在工程目錄下建立一個名字為MANIFEST.MF;本人不愛寫,覺得太麻

Eclipse jar,並且在win7 下執行jar檔案,MANIFEST.MF檔案指定執行入口

1:為即將匯出的java專案新增一個檔案,檔名為:MANIFEST.MF     這個檔案可以定義jar包的一些引數,主要是jar檔案執行入口; 檔案內容為: Manifest-Version: 1.0 Class-Path: . Main-Class: test 將tes