A. java程序中用到了第三方的Jar包而且這個包有相關的dll文件,打包後不能運行
第1步,你把電腦安裝的JRE整個文件夾拷貝出來,放到一個文件夾比如project。第2步,你把jar可執行包(比如叫test.jar)也放在project文件夾下;第3步,編寫一個批處理文件比如名叫run.bat,裡面的內容寫javaw -jar test.jar然後在沒有安裝JVM的計算運行run.bat就可以執行的
B. Java 世界有哪些優秀的第三方開源 jar 包值得推薦使用
我說幾個常用的吧。
工具類:
1. log4j
理由:向system.out.println()說永別,剛開始學java的時候總是喜歡依靠system.out.println()的輸出來查看異常和調試。後來工作後就果斷log4j了,這樣項目開發和發布的時候,可以根據自己的需求開關日誌級別,把日誌列印到遠程服務等多種功能。現在這個基本成為標配了。
2.guava
google出品的第三方工具庫。當java.util 提供的數據結構不能滿足的時候從這里你可以快速找到大量已經寫好的數據結構了,這使得你不用花費心思在一些常用的數據結構上了。比如LRU緩存之類的。只是好幾個版本的跨度比較大,兼容也不怎麼好。
3.apache commons 包含的組件
apache commons 涵蓋了大量的小工具,比如發郵件(線上告警用),快速且方便的IO操作封裝。等等工具很多,可以自己慢慢去學習。
4.netty
一個網路通信框架,當需要實現自定義協議的時候我就用這個,netty的新版本自帶了很多協議的實現版本,這是搞網路快速開發不二的選擇。
5.httpclient 系列
主要是用在測試線上服務的時候用的。畢竟是一個基於http協議網路工具,當開發的web上線的時候,利用httpclient來寫測試用例,效果很不錯。測試的工具有很多,但是這個可以滿足你定製http請求的需求。
服務類:
1.jetty
httpclient 的同一個項目下有一個簡易的http server 但是沒有實現servlet,這個時候jetty的效果就體現出來了。特別的是,當你打算對 jsp jstl 等方式編寫的網頁進行功能測試的時候,jetty就可以承擔 mock的作用,好用得很。使得你可以在junit的框架下對jsp編寫的網頁進行測試。
2.maven
現在的java已經離不開這個玩意了。你可以自己搭建一個nexus 來做maven私服。當你存在RPC的需求的時候。完全可以把自己的介面部分和client打包上傳到maven私服,調用的服務只需要include這個包就可以遠程調用你的服務了。在國內配合上bbo這類 SOA框架。那個效果酸爽的很。完成了實際意義上的介面於實現在網路層級的分離。讓java 的package 形成一個網路上的package。需要某個服務的時候,include 直接調用。其他的一律不用管。
C. java如何調第三方jar包或自己封裝好的工具類
註:在把類生成jar文件的過程中發現一個問題,存放類文件的包不能是Eclipse默認的包,必須要自己創建一個包,不然後面就無法導入該類。具體方法如下:
1.首先建立一個java項目,如javatest(注意這里不能使用默認的包,必須要重新創建一個包,我也不知道為什麼,求他人解答),創建一個包test。
2.在test包下新建一個類,根據需要編寫代碼。
3.生成javadoc,右擊你需要的java文件,選擇Export ——>Java——> javadoc,然後根據你實際需要生成幫助文檔。
4.生成jar包,右擊你要需要的java文件,選擇Export ——>Java——> JAR file,選擇好輸出路徑,一路Next即可,因為該類沒有main函數,所以不需要選擇程序入口點。
5.導入jar包,調用工具類。
5.1.首先在項目下創建一個文件夾(lib),用於存放要被調用的jar包.
5.2 .右擊項目名,選擇Build Path ——> Configure Build Path,然後在Libraries標簽下選擇Add External JARs,選擇你要添加的jar包
5.3. 此時在你的項目中就可以使用該工具類了,當使用該類時,Eclipse會提示導入該類
注意:在生成該工具jar包的時候,java文件一定不能存放在項目默認的包里,不然在另一個項目中就無法使用該工具類了。
D. java的第三方jar包怎麼用
1. 在程序目錄下,創建一個文件夾,名稱隨便叫,我們這里叫Lib。
2.將第三方jar包復制到該目錄下
3.右鍵工程
4.Build path
5.java build path,選擇libraries
6.在右邊的按鈕中點擊「Add JARs」
7.選擇Lib目錄下的jar包,導入就可以了。
E. 怎麼導入java的第三方jar包
首先要看你新建的是什麼項目
java項目:在項目上右鍵「new」->「Folder」->取名為「lib」,將jar包考進去。然後對著jar包右鍵,「Build Path」->「Add To Build Path」就可以了
web項目:在WebContent目錄下的WEB-INF目錄下新建一個名為「lib」的文件夾,將jar包之間拷貝進去就可以了,不用有其他操作。
maven項目,在pom.xml中添加依賴就可以了
F. Java項目中如何擴展第三方jar包中的類
下面給你介紹幾種方法:
一、繼承你想要擴展的類,重寫想要擴展的方法
這種做法是比較好的,符合面向對象的思想。另外動作比較小,風險也不會很大。但是這種方法有個前提是,被擴展的類在擴展點能用這個子類去替換。比如說在Bean配置的過程中,可以用在需要這個類的地方用子類注入,而不是注入被擴展的類。就是說原來想要擴展的類都是直接new出來的,那麼我們新寫的子類根本就沒法在需要擴展的地方使用。
二、直接復制一份想要擴展的類,在項目中創建同包同名的類
這種方法是我在網上看到的,這里利用了類載入的優先性,說的是WEB-INF目錄下的類載入的優先順序要比lib中jar包類的優先順序要高。
三、使用ASM等位元組碼修改工具,直接修改這個類的位元組碼
這個是終極做法了,直接把這個類的位元組碼修改成你想要擴展的樣子。思路相當直接,缺點就是你要對位元組碼非常熟悉,並且熟悉ASM這個工具。其次這種做法的風險比較大,如果你提出了這種想法,很有可能被pass掉。
G. 常用的java第三方jar包有哪些附上用途的介紹,最好給官方下載連接,和中文文檔
commons-digester.jar
Digester基於規則的XML文檔解析,主要用於XML到Java對象的映射.
commons-beanutils.jar
提供對Java 反射和自省API的包裝.
aspectjweaver.jar
用於在Spring 2.0中集成AspectJ AspectJ LTW織入器
ognl.jar
OGNL是Object-Graph Navigation Language的縮寫,它是一種功能強大的表達式語言(Expression Language,簡稱為EL),通過它簡單一致的表達式語法,可以存取對象的任意屬性,調用對象的方法,遍歷整個對象的結構圖,實現欄位類型轉化等功 能。它使用相同的表達式去存取對象的屬性。
hibernate2依賴的一些包
hibernate2.jar
Hibernate的庫,沒有什麼可說的,必須使用的jar包
cglib-asm.jar:
CGLIB庫,Hibernate用它來實現PO位元組碼的動態生成,非常核心的庫,必須使用的jar包
dom4j.jar:
dom4j是一個Java的XML API,類似於jdom,用來讀寫XML文件的。dom4j是一個非常非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟體,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對主流的Java XML API進行的性能、功能和易用性的評測,dom4j無論在那個方面都是非常出色的。我早在將近兩年之前就開始使用dom4j,直到現在。如今你可以看到越 來越多的Java軟體都在使用dom4j來讀寫XML,特別值得一提的是連Sun的JAXM也在用dom4j。這是必須使用的jar 包,Hibernate用它來讀寫配置文件。
odmg.jar:
ODMG是一個ORM的規范,Hibernate實現了ODMG規范,這是一個核心的庫,必須使用的jar包。
commons-collections.jar:
Apache Commons包中的一個,包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包。
commons-beanutils.jar:
Apache Commons包中的一個,包含了一些Bean工具類類。必須使用的jar包。
commons-lang.jar:
Apache Commons包中的一個,包含了一些數據類型工具類,是java.lang.*的擴展。必須使用的jar包。
commons-logging.jar:
Apache Commons包中的一個,包含了日誌功能,必須使用的jar包。這個包本身包含了一個Simple Logger,但是功能很弱。在運行的時候它會先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的 java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出現是一個歷史的的遺留的遺憾,當初Apache極力游說Sun把log4j加入JDK1.4, 然而JDK1.4項目小組已經接近發布JDK1.4產品的時間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個包 的功能比log4j差的很遠,性能也一般。
後來Apache就開發出來了commons-logging.jar用來兼容兩個logger。因此用commons-logging.jar 寫的log程序,底層的Logger是可以切換的,你可以選擇log4j,java.util.logging或者它自帶的Simple Logger。不過我仍然強烈建議使用log4j,因為log4j性能很高,log輸出信息時間幾乎等於System.out,而處理一條log平均只需 要5us。你可以在Hibernate的src目錄下找到Hibernate已經為你准備好了的log4j的配置文件,你只需要到Apache 網站去下載log4j就可以了。commons-logging.jar也是必須的jar包。
使用Hibernate必須的jar包就是以上的這幾個,剩下的都是可選的。
ant.jar:
Ant編譯工具的jar包,用來編譯Hibernate源代碼的。如果你不準備修改和編譯Hibernate源代碼,那麼就沒有什麼用,可選的jar包
optional.jar:
Ant的一個輔助包。
c3p0.jar:
C3PO是一個資料庫連接池,Hibernate可以配置為使用C3PO連接池。如果你准備用這個連接池,就需要這個jar包。
proxool.jar:
也是一個連接池,同上。
commons-pool.jar,
commons-dbcp.jar:
DBCP資料庫連接池,Apache的Jakarta組織開發的,Tomcat4的連接池也是DBCP。
實際上Hibernate自己也實現了一個非常非常簡單的資料庫連接池,加上上面3個,你實際上可以在Hibernate上選擇4種不同的資料庫 連接池,選擇哪一個看個人的偏好,不過DBCP可能更通用一些。另外強調一點,如果在EJB中使用Hibernate,一定要用App Server的連接池,不要用以上4種連接池,否則容器管理事務不起作用。
connector.jar:
JCA 規范,如果你在App Server上把Hibernate配置為Connector的話,就需要這個jar。不過實際上一般App Server肯定會帶上這個包,所以實際上是多餘的包。
jaas.jar:
JAAS是用來進行許可權驗證的,已經包含在JDK1.4裡面了。所以實際上是多餘的包。
jcs.jar:
如果你准備在Hibernate中使用JCS的話,那麼必須包括它,否則就不用。
jdbc2_0-stdext.jar:
JDBC2.0的擴展包,一般來說資料庫連接池會用上它。不過App Server都會帶上,所以也是多餘的。
jta.jar:
JTA規范,當Hibernate使用JTA的時候需要,不過App Server都會帶上,所以也是多餘的。
junit.jar:
Junit包,當你運行Hibernate自帶的測試代碼的時候需要,否則就不用。
xalan.jar, xerces.jar, xml-apis.jar:
Xerces是XML解析器,Xalan是格式化器,xml-apis實際上是JAXP。一般App Server都會帶上,JDK1.4也包含了解析器,不過不是Xerces,是Crimson,效率比較差,不過Hibernate用XML只不過是讀取 配置文件,性能沒什麼緊要的,所以也是多餘的。
antlr.jar
語法生成工具詳見
H. JAVA入門之如何向工程中引入第三方jar包
1、如果用的maven,直接到網頁鏈接查找相關依賴
2、如果是本地jar,直接放入lib文件夾中
I. java自定義封裝了一個第三方包之後,怎麼隱藏第三方包以及類。
1、寫成內部類,
2、寫成非public得類,這樣就可以控制訪問許可權
3、寫類的時候不用類的許可權修飾符,直接class Lei{};就可以了,前提是要將所有的類寫在一個文件里,而且一個類文件只能有一個public類,並且類名要與文件名相同
這樣別人就不能直接使用了,
J. java程序打成jar包 如何處理第三方jar包
其實有一個比較惡心的方法,就是你把你需要的那兩個包都解壓,然後將裡面的class文件全部添加到jdk1.5的包中,這樣就不用再配置classpath就可以自行查到,但是還是不建議這樣做,作為程序員,我覺得還是遵循原則比較好,其實就是配置一下環境變數沒有什麼難度啊,還可以在熟練一下...