Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / GUI / February 2008

Tip: Looking for answers? Try searching our database.

Please help

Thread view: 
mamta81 - 18 Feb 2008 06:58 GMT
hi i am trying to compile a java file in linux . The filee is
compiling fine but at run time it is giving the following exception

Exception in thread "main" java.lang.NoClassDefFoundError: tcpServer5
i am using jdk1.5 and the file is running on linux.
How do i set the classpath in linux
My .java file is below

import java.net.*;
import java.io.*;
//Server class.

public class tcpServer5
{
public static void main(String[] args)
    {
    int port;
    ServerSocket server_socket;
    port=Integer.parseInt(args[0]);
    try{
            server_socket=new ServerSocket(port);
            System.out.println("Server Waiting for Client on Port
"+server_socket.getLocalPort());
            while(true)
                {
                Socket socket=server_socket.accept();
                System.out.println("New Connection
Accepted"+socket.getInetAddress()+":"+socket.getPort());
                //FIRE A NEW SERVER THREAD FOR EACH CLIENT.
                ServerThread st=new ServerThread(socket);
                st.start();
                }
        }catch(Exception e){System.out.println("Connection Reset");}
    }//main ends
}//class ends

//ServerThread

class ServerThread extends Thread
{
Socket s;
public ServerThread(Socket s)
    {
        this.s=s;
    }
public void run()
    {
    Runtime r=Runtime.getRuntime();
    PrintWriter spw=null;
    BufferedReader sbr=null;
    ChildOutputThread cot=null;
    ChildInputThread cit=null;

                try{

                sbr= new BufferedReader(new
InputStreamReader(s.getInputStream()));
                while(!sbr.ready())
                    Thread.sleep(500);
                String command=sbr.readLine();
                Process process=r.exec(command);
                System.out.println("Process started with this command :"+command);
                Thread t=Thread.currentThread();
                t.sleep(1000);
                int CASE=0;
                if(command.endsWith("<inptrial>"))
                    CASE=1;
                if(command.endsWith("<inpfinal>"))
                    CASE=2;
                if(command.endsWith("output.txt"))
                    CASE=3;
                if(command.endsWith("cfoil.RPT"))
                    CASE=4;
                //managing child threads.
                switch(CASE){
                case 1:    try{
                        cot = new ChildOutputThread(process,new File("inptrial"));
                        cit = new ChildInputThread(process,new File("output.txt"),cot);
                        cot.start();
                        cit.start();
                        process.waitFor();
                        }catch(Exception e){e.printStackTrace();}
                        finally{
                            try{
                                    if(cit!=null & cot!=null){
                                        cot.CONTINUE=false;
                                        cit.CONTINUE=false;
                                        cit.join();
                                        cot.join();
                                    }
                                System.out.println("Process terminated:");
                                System.out.println("completed");
                                spw=new PrintWriter(new BufferedWriter(new
OutputStreamWriter(s.getOutputStream()) ));
                                spw.println("completed");
                                spw.flush();
                                spw=null;

                                }catch(Exception e){e.printStackTrace();}
                        }
                        break;
                        case 2:    try{
                        cot = new ChildOutputThread(process,new File("inpfinal"));
                        cit = new ChildInputThread(process,new File("output.txt"),cot);
                        cot.start();
                        cit.start();
                        process.waitFor();
                        }catch(Exception e){e.printStackTrace();}
                        finally{
                            try{
                                    if(cit!=null & cot!=null){
                                        cot.CONTINUE=false;
                                        cit.CONTINUE=false;
                                        cit.join();
                                        cot.join();
                                    }
                                System.out.println("Process terminated:");
                                System.out.println("completed");
                                spw=new PrintWriter(new BufferedWriter(new
OutputStreamWriter(s.getOutputStream()) ));
                                spw.println("completed");
                                spw.flush();
                                spw=null;

                                }catch(Exception e){e.printStackTrace();}
                        }
                        break;

                case 3:     try{
                                BufferedReader br=new BufferedReader(new InputStreamReader(new
FileInputStream(new File("output.txt"))));
                                spw=new PrintWriter(new BufferedWriter(new
OutputStreamWriter(s.getOutputStream()) ));
                                String tmp="";
                                if(br!=null)
                                    while((tmp=br.readLine())!=null){
                                        spw.println(tmp);
                                        spw.flush();
                                        }
                                if(br!=null)
                                        br.close();
                                }catch(Exception e){e.printStackTrace();}
                                finally{spw=null;}
                                break;

                case 4:        try{
                                BufferedReader br=new BufferedReader(new InputStreamReader(new
FileInputStream(new File("/home/payroll/rpts/chq.rpt"))));
                                //BufferedReader br=new BufferedReader(new
InputStreamReader(new FileReader("/home/payroll/rpts/chq.rpt")));
                                spw=new PrintWriter(new BufferedWriter(new
OutputStreamWriter(s.getOutputStream())));
                                String tmp1="";
                                if(br!=null)
                                    while((tmp1=br.readLine())!=null){
                                        spw.println(tmp1);
                                        spw.flush();
                                         }
                                if(br!=null){
                                     br.close();
                                           }
                               }catch(Exception e){e.printStackTrace();}
                               finally{spw=null;}
                    break;

                default: System.out.println(" command");
                }

            }catch(Exception e){e.printStackTrace();}

    }//run method
}//ServerThread class ends here.

class ChildInputThread extends Thread
{
Process process=null;
BufferedReader cbr;
BufferedReader ErrorReader=null;
boolean CONTINUE = true;
PrintWriter fos=null;
ChildOutputThread cot;//For MONITORING OF THE WRITE FLAG OF THE CHILD
WRITE THREAD.

    public ChildInputThread(Process process,File
childOut,ChildOutputThread cot)
        {
        super("inputthread");
        try{
        this.process = process;

        this.cot=cot;
        cbr = new BufferedReader(new
InputStreamReader(process.getInputStream()));
        ErrorReader= new BufferedReader(new
InputStreamReader(process.getErrorStream()));
        fos=new PrintWriter(new BufferedWriter(new OutputStreamWriter(new
FileOutputStream(childOut))));
        fos.println("file opened and writing into file has been working");
        fos.flush();
        System.out.println("child inputthread initialised.:From"+getName());

            }    catch(IOException e){e.printStackTrace();}

        }

    public void run()
        {

        try{
        //System.out.println("child thread run mehod
entereeD:Thread:"+getName());
        int writeflag=0;

        while(CONTINUE)
            {
            //sleep(500);
            //System.out.println("back form wait:thread"+getName());
            if(cbr.ready())
                {
                while(cbr.ready())
                    {
                    //writeflag=1;
                    char c=(char)cbr.read();

                    fos.print(c);
                    if(c=='?')
                        writeflag=1;
                    System.out.print(c);
                    }
             //System.out.println("WRITE FLAG"+ writeflag);
                }
            else
                {
                fos.flush();
                //System.out.println("\nsangameshwar input thread in else
part:"+getName());

                try{
                    if(cot.write==true)
                        Thread.sleep(1000);
                    else
                        if(writeflag==1)
                            {
                            cot.complement(this,fos);
                            writeflag=0;
                            }
                }catch(Exception e){e.printStackTrace();}

                }//ELSE PART

            }//while
            while(cbr.ready())
                fos.println(cbr.readLine());
            fos.flush();
            fos.println("------------------------------Error
messages:----------------------------------");
            while(ErrorReader.ready())
                fos.println(ErrorReader.readLine());
            fos.println("completed");
            fos.flush();
            fos.close();
            //start here.

        }catch(Exception e){e.printStackTrace();}

        }

}//ChildInputThread ends

class ChildOutputThread extends Thread
{
    ChildInputThread cit;
Process process=null;
PrintWriter cpw;
boolean CONTINUE = true;
boolean write = false;
BufferedReader fir=null;
PrintWriter fos=null;

    public ChildOutputThread(Process process,File childIn)
    {
        super("outputthread");
        try{

        this.process = process;
        cpw = new PrintWriter(new BufferedWriter(new
OutputStreamWriter(process.getOutputStream()) ));
        fir = new BufferedReader(new InputStreamReader(new
FileInputStream(childIn)));
        System.out.println("child outputthread initialised.:");
            }    catch(IOException e){e.printStackTrace();}

    }//CLASS CONSTUCTOR ENDS HERE.

    public void run()
    {

        try{
        System.out.println("child thread run mehod
entereeD:Thread:"+getName());
        char c=(char)fir.read();
        while(CONTINUE)
            if(write==true)
                {
                System.out.println("childoutput thread writing into
buffer:"+getName());
                cpw.println(c);
                cpw.flush();
                fos.println(c);
                fos.flush();
                System.out.println("from writer--------------------"+c);
                complementwrite();
                }
            else
                {
                try{
                Thread.sleep(1000);
                }catch(InterruptedException e){e.printStackTrace();}
                }
                }catch(IOException e){e.printStackTrace();}

        synchronized(this){notify();}
    }//run method

    public synchronized  void complement(ChildInputThread cit,PrintWriter
fos)
    {
        this.cit=cit;
        this.fos=fos;
        try{
            write = !write;
            Thread t=Thread.currentThread();
            //System.out.println("thisis from complement method"+t.getName());
            //this.notify();comomented just now
            wait();

        }catch(Exception e){e.printStackTrace();}
    }
    // Synchronized complement method ends.
    public synchronized void complementwrite()
    {
    try{
        write=!write;
        notify();

    }catch(Exception e){e.printStackTrace();}
    }

}
Roedy Green - 18 Feb 2008 10:47 GMT
On Sun, 17 Feb 2008 22:58:16 -0800 (PST), mamta81
<roy.mamta@gmail.com> wrote, quoted or indirectly quoted someone who
said :

>.NoClassDefFoundError:

see
http://mindprod.com/jgloss/runerrormessages.html#NOCLASSDEFFOUNDERROR
--

Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com
Knute Johnson - 18 Feb 2008 19:27 GMT
> hi i am trying to compile a java file in linux . The filee is
> compiling fine but at run time it is giving the following exception
[quoted text clipped - 345 lines]
>
> }

Try this little program to list out your classpath;  Let me know if it
helps.

import java.io.*;
import java.util.*;
import java.util.jar.*;

public class Classpath {
    public static void main(String[] args) {
        class ClassFilter implements FileFilter {
            public boolean accept(File pathname) {
                return pathname.getName().endsWith(".class");
            }
        }

        String classpath = System.getenv("CLASSPATH");
        String[] paths = null;
        if (args.length == 0)
            paths = classpath.split(File.pathSeparator);
        else
            paths = args[0].split(File.pathSeparator);

        for (int i=0; i<paths.length; i++) {
            System.out.println(paths[i]);
            File file = new File(paths[i]);
            if (file.isDirectory()) {
                File[] classFiles = file.listFiles(new ClassFilter());
                for (int j=0; j<classFiles.length; j++)
                    System.out.println("     " + classFiles[j].getName());
            } else {
                try {
                    JarFile jarFile = new JarFile(file);
                    for (Enumeration<JarEntry> entries = jarFile.entries();
                     entries.hasMoreElements();) {
                        JarEntry entry = entries.nextElement();
                        String name = entry.getName();
                        if (name.endsWith(".class"))
                            System.out.println("     " + name);
                    }
                } catch (IOException ioe) {
                    System.out.println(ioe);
                }
            }
        }
    }
}

Signature

Knute Johnson
email s/nospam/knute/



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.