zoukankan      html  css  js  c++  java
  • java/javac命令行如何同时引用多个包;错误 TypeError: 'JavaPackage' object is not callable 的含义

    出现这类错误提示:'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://stackoverflow.com/questions/13018100/execute-jar-file-with-multiple-classpath-libraries-from-command-prompt

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

  • 相关阅读:
    解决“Caused by: org.gradle.api.plugins.UnknownPluginException: Plugin with id 'org.springframework.boot' not found.”
    linux随机生成密码
    NFS网络共享文件系统
    shell实现带颜色输出的进度条
    【AtCoder】 ARC 101
    【AtCoder】 ARC 102
    【AtCoder】 ARC 103
    20190814校内模拟赛
    「2019-8-13提高模拟赛」树 (tree)
    [PA2014]Fiolki
  • 原文地址:https://www.cnblogs.com/shengulong/p/8431714.html
Copyright © 2011-2022 走看看