出现这类错误提示:'JavaPackage' object is not callable,可以看下所引用的jar包或者class文件是否在java的路径搜索范围内
命令行模式下:javac可以编译*.java为*.class字节码;然后使用java执行字节码
java -help
-cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
用 : 分隔的目录, JAR 档案和 ZIP 档案列表, 用于搜索类文件。
javac -help
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
可见当在编译或者运行时,需要使用其他的jar包等,需要使用参数-cp或者-classpath
抛出第二个问题,如何一次引用多个jar包呢?
字节码文件mypackage.class
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 ' ' ':')
参考:
1、https://*.com/questions/13018100/execute-jar-file-with-multiple-classpath-libraries-from-command-prompt
2、https://*.com/questions/219585/including-all-the-jars-in-a-directory-within-the-java-classpath