java開發中遇到的問題及解決方案(持續更新)

來源:互聯網
上載者:User

標籤:pat   jvm   錯誤   失敗   打包   class   入庫   其他   tail   

摘自 http://blog.csdn.net/pony12/article/details/38456261

 

java開發中遇到的問題及解決方案(持續更新)

工作中,以C/C++開發為主,難免與其他服務和Web進行交換,Java開發必不可少,又不想動用Eclipse大傢伙,只能自己動手編寫指令碼進行Java代碼的編譯和運行,期間遇到的一些問題,記錄下來供自己和大家參考。
1)軟體包不存在/軟體包 javax.jms 不存在
    這是由於javac編譯時間找不到javax.jms所在的軟體包,因此將javax.jms所在的軟體包加入到classpath中即可,
    如javac -classpath ./lib/j2ee.jar *.java

2)如何將class檔案打包成jar
    jar cvmf manifest myjar.jar com
    mainfest可以為空白,com為要打包的class所在的目錄,可以是多層,根據package的打包目錄而定

3)JNI開發的class,在java.library.path中找不到dll庫
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no jwtp_api in java.library.path
    則,需要將dll庫所在的目錄加入到path中即可,如set path=dll所在目錄;%path%

    -Djava.library.path=dll所在目錄,不知道為何不可以

4)JNI調用Java類時,報錯Exception in thread "main" java.lang.UnsatisfiedLinkError: wtpUpLoad

我的錯誤是,標頭檔和c檔案中函數名稱不符,

Java_com_tongtech_wtp_client_wtpDownLoad  c代碼中

Java_com_tongtech_wtp_WtpClient_wtpDownLoad  標頭檔

當使用 JNI 從 Java 程式訪問機器碼時,您會遇到許多問題。您會遇到的三個最常見的錯誤是:

  • 無法找到動態連結。它所產生的錯誤訊息是:java.lang.UnsatisfiedLinkError。這通常指無法找到共用庫,或者無法找到共用庫內特定的本機方法。
  • 無法找到共用庫檔案。當用 System.loadLibrary(String libname) 方法(參數是檔案名稱)裝入庫檔案時,請確保檔案名稱拼字正確以及沒有指定副檔名。還有,確保庫檔案的位置在類路徑中,從而確保 JVM 可以訪問該庫檔案。
  • 無法找到具有指定說明的方法。確保您的 C/C++ 函數實現擁有與標頭檔中的函數說明相同的說明。

(摘自IBM中文網) http://bbs.csdn.net/topics/100065889 hengxxh

5)import org.apache.commons.lang.StringUtils;失敗

    org.apache.commons.lang.StringUtils;所在的包是commons-lang-x.y.jar,其中x和y分別是主要版本、副版本號碼,需要將合適版本的jar加入到Eclipse工程中。我的jar就是commons-lang-2.4.jar,但匯入確是commons-lang-2.1.jar,肯定找不到呀,修改成commons-lang-2.4.jar即可。

java開發中遇到的問題及解決方案(持續更新)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.