0

コマンド ラインからコードを実行しようとすると、次の例外エラーが発生します。

    X:\User temp\httpclient>java httpclient_main 10 10
Exception in thread "main" java.lang.NoClassDefFoundError: httpclient_main (wron
g name: httpclient/httpclient_main)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

httpclient_main.java;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package httpclient;

import java.io.DataInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

/**
 *
 * @author tsothcott
 */
public class httpclient_main {
    protected String host;
    protected String file;
    protected int port;
    protected DataInputStream in;
    protected DataOutputStream out;
    static double threadResult;

    String get_file()
    {
        return this.file;
    }
    DataOutputStream get_outputstream() {
        return this.out;
    }

    public static void main(String[] args) throws IOException {
        InputTxt servers = new InputTxt();
        threadResult = 0.0D;

        SharedCell cell = new SharedCell();
        if(args.length <1)
            throw new IOException("Usage: HTTPClient URL Number_Thread");

        int num_thread = Integer.parseInt(args[0]);
        int count_interval = Integer.parseInt(args[1]);

        servers.printservers();

        Manufacture prod = new Manufacture(cell, num_thread, count_interval);
        prod.start();


    }


}

プロジェクト構造のスクリーンショット。 プロジェクトの構造

しかし、NetBeans 内から実行すると、正常に動作しますか?

どんな助けでも大歓迎です!

ありがとう

4

5 に答える 5

1

NoClassDefFoundError は、コードのクラス ファイルがコンパイル時に存在するが実行時に見つからない場合に発生します。

于 2013-08-07T07:59:40.273 に答える
1

投稿されたコマンドライン出力によると、パッケージからプログラムを呼び出していますhttpclient。あなたの現在のディレクトリは

X:\User temp\Tom Sothcott\httpclient

それは間違いです。プロジェクトのルート ディレクトリから Java プログラムを呼び出す必要があります。この場合、それは

X:\User temp\Tom Sothcott

そしてもちろん、Ihsan Kocak が教えてくれたように、完全修飾クラス名を提供する必要があります。

于 2013-08-07T08:26:35.227 に答える
0
  1. クラスパスに持ってい.て、でJavaコマンドを実行するか、クラスパスに直接X:\User temp\Tom Sothcott持っていますX:\User temp\Tom Sothcott
  2. によって実行java httpclient.httpclient_main 10 10

javaコマンドは、実行するメイン メソッドを含むクラスの完全修飾クラス名を想定しています。

于 2013-08-08T02:04:36.473 に答える