java/javac命令行如何同時引用多個包;錯誤 TypeError: 'JavaPackage' object is not callable 的含義

出現這類錯誤提示:'JavaPackage' object is not callable,能夠看下所引用的jar包或者class文件是否在java的路徑搜索範圍內java

命令行模式下:javac能夠編譯*.java爲*.class字節碼;而後使用java執行字節碼linux

java -helpspa

-cp               <目錄和 zip/jar 文件的類搜索路徑>
-classpath     <目錄和 zip/jar 文件的類搜索路徑>
                    用 : 分隔的目錄, JAR 檔案和 ZIP 檔案列表, 用於搜索類文件。命令行

 

javac -helpcode

-classpath <路徑>            指定查找用戶類文件和註釋處理程序的位置
-cp <路徑>                      指定查找用戶類文件和註釋處理程序的位置ip

 

可見當在編譯或者運行時,須要使用其餘的jar包等,須要使用參數-cp或者-classpathci

 

拋出第二個問題,如何一次引用多個jar包呢?it

字節碼文件mypackage.classio

linux下:冒號編譯

  java -cp myjar.jar:lib/*:. mypackage

   錯誤方式:java -cp myjar.jar:lib/*.jar:. mypackage

java -cp "Test.jar:lib/*" mypackage

window下:分號

 java -cp myjar.jar;lib/*;. mypackage

java -cp "Test.jar;lib/*" mypackage

或者使用:tr命令的做用是從標準輸入中替換、縮減和/或刪除字符,並將結果寫到標準輸出。

java -cp $(echo lib/*.jar | tr ' ' ':')


 

 

參考:

一、https://stackoverflow.com/questions/13018100/execute-jar-file-with-multiple-classpath-libraries-from-command-prompt

二、https://stackoverflow.com/questions/219585/including-all-the-jars-in-a-directory-within-the-java-classpath

相關文章
相關標籤/搜索