• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

Packages

 
Ranch Hand
Posts: 213
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How do I compile the below program given that the class Exercise5_2 is suppose to be in chatclient.
Do I need to make a directory, or will the this command create the directory automatically in addition to putting the class in the package.
Assume that the source c:/Chat/Exercise5_2.
Thanks in advance.
package chatclient;
import chat.*;
public class Exercise5_2 {
public static void main(String args[]) {
System.out.println("Main");
}
}
 
Bartender
Posts: 2205
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Charlie Swanson:
How do I compile the below program given that the class Exercise5_2 is suppose to be in chatclient.
Do I need to make a directory, or will the this command create the directory automatically in addition to putting the class in the package.
Assume that the source c:/Chat/Exercise5_2.
Thanks in advance.
package chatclient;
import chat.*;
public class Exercise5_2 {
public static void main(String args[]) {
System.out.println("Main");
}
}


Your directory structure should match your package structure. Your file Exercise5_2.java needs to be in a directory named chatclient; that's the package you have defined Exercise5.2 to belong in.
Assuming you have C:\ as the root, you should have a path : C:\chatclient\Exercise5.java.
Also, I don't know where your chat package is that you're importing. This directory structure I just showed you above has no such package named "chat", so that will be a problem when you compile.
So when you want to compile this class, your working directory should be C:\. Then you can type
javac -classpath ./ chatclient.Exercise5_2.java
This tells javac to use the current directory as the classpath. Since the classpath is set up correctly, javac can easily find your class chatclient.Exercise5_2.java, because you've told it where to find it.
To run your class, you need to specify the same classpath. Assuming that again C:\ is your working directory, you would type
java -classpath ./ chatclient.Excersice5_2

Just to plant a seed of information, at some point a java project gets so "big" that it becomes really really tedious to have to do all this manual compiling and classpath setting. That's when you start to use a batch file (if you're on windows ) or a script file on Unix. That way you can just double click your batch file to compile your project, or run your class. But this is just something for you to keep in mind.
reply
    Bookmark Topic Watch Topic
  • New Topic