私の質問は次のとおりです。1つの.javaファイルに書かれたJavaコードがあります-Chain_of_Responsibility、コードは私の質問の最後にあります。Linuxでコンパイルしました
javac Chain_of_Responsibility.java
そして、すべての .class ファイルを同じディレクトリに取得します。次に、プログラムを実行しようとします
java Chain_of_Responsibility
そして、「スレッド「メイン」 java.lang.NoClassDefFoundError: Chain_of_Responsibility で例外」を取得します。メイン関数を静的にし、すべてのクラスを異なる .java ファイルに書き込もうとしましたが、成功しませんでした。だから私は何をすべきか分かりません。手伝って頂けますか?
package COR;
public class Chain_of_Responsibility
{
public void main(String[] args)
{
//Create the Chain of Responsibility
Handler chain = build_chain();
//Trying to handle the request (valid are cheese, meet or banana)
chain.handle_request(args[1]);
}
private Handler build_chain()
{
//Creating the chain
Handler monkey = new Monkey();
Handler wolve = new Wolve();
Handler mouse = new Mouse();
//First nide is Monkey, then Wolve and then Mouse
monkey.set_next_handler(wolve);
wolve.set_next_handler(mouse);
//Returning the first node in the chain
return monkey;
}
}
abstract class Handler
{
Handler next_handler;
public void set_next_handler(Handler next_handler)
{
//Setting next handler in the chain
this.next_handler = next_handler;
}
public abstract void handle_request(String request);
}
class Mouse extends Handler
{
public void handle_request(String request)
{
//Trying to handle the request
if (request == "cheese")
{
//Succesful try
System.out.println("Mouse handles cheese!");
}
else
{
//Cannot handle request
System.out.println("Mouse in unable to handle cheese" + request + "!");
if (next_handler != null)
{
//Sending request to the next handler
next_handler.handle_request(request);
}
else
{
//If there is no handlers left, alert about crash
System.out.println("Chain ends without success!");
}
}
}
}
class Wolve extends Handler
{
public void handle_request(String request)
{
//Trying to handle the request
if (request == "meet")
{
//Succesful try
System.out.println("Wolve handles meet!");
}
else
{
//Cannot handle request
System.out.println("Wolve in unable to handle cheese" + request + "!");
if (next_handler != null)
{
//Sending request to the next handler
next_handler.handle_request(request);
}
else
{
//If there is no handlers left, alert about crash
System.out.println("Chain ends without success!");
}
}
}
}
class Monkey extends Handler
{
public void handle_request(String request)
{
//Trying to handle the request
if (request == "banana")
{
//Succesful try
System.out.println("Monkey handles banana!");
}
else
{
//Cannot handle request
System.out.println("Monkey in unable to handle" + request + "!");
if (next_handler != null)
{
//Sending request to the next handler
next_handler.handle_request(request);
}
else
{
//If there is no handlers left, alert about crash
System.out.println("Chain ends without success!");
}
}
}
}