不明白为什么我收到错误:无法从控制台找到或加载主类

JHM*_*JHM 0 java jar classpath itext

我查看了本网站上的其他几个答案,试图了解为什么会发生这种情况,但我不明白我做错了什么。

我正在尝试开始使用 iText 和 .jar 文件。我将 iText .jar 文件下载并解压缩到桌面上的一个文件夹中:Desktop\Java\itext-5.4.4\"jar files here"

然后我去了以下网站:

http://tutorials.jenkov.com/java-itext/getting-started.html

并将代码复制到记事本中。它看起来像这样:

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.FileOutputStream;
import java.io.FileNotFoundException;

/**

 */
public class HelloWorldExample {

    public static void main(String[] args) {

        Document document = new Document();

        try {
            PdfWriter.getInstance(document,
                new FileOutputStream("HelloWorld.pdf"));

            document.open();
            document.add(new Paragraph("A Hello World PDF 

document."));
            document.close(); // no need to close 

PDFwriter?

        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我将桌面上的文件保存为 HelloWorldExample.java

然后我使用以下命令编译我的代码:

cd c:\桌面

javac -classpath Java\itext-5.4.4\itextpdf-5.4.4.jar HelloWorldExample.java

这编译成功

然后我尝试:

java -classpath Java\itext-5.4.4\itextpdf-5.4.4.jar HelloWorldExample

我收到错误:无法找到或加载主类 HelloWorldExample 错误。

我已经尝试了很多变化,包括创建一个文件夹,在该文件夹中放置一个 lib 文件夹,以及创建一个包,但仍然得到相同的错误。

这里发生了什么?

谢谢!

mkl*_*mkl 5

你试过:

java -classpath Java\itext-5.4.4\itextpdf-5.4.4.jar HelloWorldExample
Run Code Online (Sandbox Code Playgroud)

您会收到错误:无法找到或加载主类 HelloWorldExample 错误。

HelloWorldExample在类路径中寻找。您显式设置类路径以仅在您的 Java 调用中包含 iText jar。由于 iText jar 肯定不包括您的HelloWorldExample,它显然无法找到。

我假设您在某些 Windows 操作系统上工作(考虑到您选择的路径分隔符)。因此,您应该尝试这样的操作,以c:\desktop在您的 Java 调用中包含当前目录:

java -classpath Java\itext-5.4.4\itextpdf-5.4.4.jar;. HelloWorldExample
Run Code Online (Sandbox Code Playgroud)

或者

java -classpath Java\itext-5.4.4\itextpdf-5.4.4.jar;c:\desktop HelloWorldExample
Run Code Online (Sandbox Code Playgroud)