【问题标题】:How will I include a Java jar file when compiling a Java class and running the Java file from the command console?在编译 Java 类并从命令控制台运行 Java 文件时,我将如何包含 Java jar 文件?
【发布时间】:2012-06-08 18:29:40
【问题描述】:

我有一个与 postgresql 数据库交互的小 Java 文件, 所以我已经下载了驱动程序并在我的文件中导入了org.postgresql.Driver。

在命令控制台中,我输入 javac Myfilename.java ; 然后它编译我运行 java Myfilename 并抛出一个错误,说它找不到 org.postgresql.Driver 文件。

那么当我运行文件或编译文件不确定何时导入时,如何导入 jar?

【问题讨论】:

    标签: java jar compilation


    【解决方案1】:

    编译:

    javac -cp ".:postresql.jar" -d . MyFileName.java
    

    运行:

    java -cp ".:postresql.jar" MyFileName
    

    【讨论】:

    • 这是针对 linux 的,在 windows 中我相信它是 .; 而不是 .:
    • @Hans 你是对的,Windows 使用; 作为 PATH 组件的分隔符。
    • @anubhava 运行文件时出现错误:java.lang.ClassNotFoundExceptin: org.postgresql.Driver 这是什么原因?
    • 因为找不到 jar 文件而出现错误。请确保 jar 文件名正确且 jar 文件存在于当前目录中。是 Windows 还是 Linux?
    • @anubhava pastebin.com/Rq6rSqx9我已经将源代码粘贴到那里的文件中,jar文件是postgresql.jar,文件是DatabaseTest.java,它们都在同一个目录中。
    【解决方案2】:

    您需要在运行时将驱动程序 jar 添加到构建路径。

    【讨论】:

    【解决方案3】:

    您需要列出所包含驱动程序的文件路径

    javac -cp "filepath.jar" MyFileName.java
    

    【讨论】:

      【解决方案4】:

      您可以使用环境变量CLASSPATH 并将jar 附加到此CLASSPATH 变量,或者您可以使用java -cp 或java -classpath 来运行您的代码。

      javac -classpath C:\java\postresql.jar MyClass.java 或 javac -cp C:\java\postresql.jar MyClass.java

      【讨论】:

        猜你喜欢
        • 2012-03-12
        • 1970-01-01
        • 2013-06-08
        • 1970-01-01
        • 1970-01-01
        • 2017-05-10
        • 2015-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多