This week's book giveaway is in the Agile and other Processes forum. We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund on-line! See this thread for details.
Hi, can someone please help? i have java files arranged like this: c:\lax\prog\sun\ui\*.java c:\lax\prog\sun\db\*.java java classes in the package UI need java classes in the package DB. And my typical java class file, in package UI looks like this:
package sun.ui import sun.db.*; class XX{} There's a compile time error saying can't find sun.db package and can't resolve symbol..... where am i missing??? my javac command line option is: c:\javac -classpath c:\lax\prog\sun\db c:\lax\prog\sun\ui\*.java
Rob Ross
Bartender
Joined: Jan 07, 2002
Posts: 2205
posted
0
if your package is sun.ui, then your classpath needs to be set to allow the JVM to find your package, starting with "sun". You're going too deep into the package hierarchy when you define your classpath. The JVM just needs to look inside \lax\prog to find your packages, so your classpath should be just "c:\lax\prog " And your javac call should be: c:\javac -classpath c:\lax\prog c:\lax\prog\sun\ui\*.java
Rob
SCJP 1.4
Greg Brouelette
Ranch Hand
Joined: Jan 23, 2002
Posts: 144
posted
0
Your command line should be this:
This is saying "Compile all the java files in c:\lax\prog\sun\db\ and c:\lax\prog\sun\ui\ directories AND when you do that be sure to use c:\lax\prog\ as the classpath. Remember, when a file is in a package the compiler and JVM wil automatically add that directory structure to the class path. So if you have your classpath set to c:\lax\prog\ and you have a file that is in the package sun\db then the compiler will actually look for that file in c:\lax\prog\sun\db WITHOUT you having to specify the classpath for each file. That's why you only have to specify one directory for your classpath. The way you had it the compiler was actually looking for your file in c:\lax\prog\sun\db\sun\db Hope it helps.
For a good Prime, call:<br />29819592777931214269172453467810429868925511217482600306406141434158089
Sri Addanki
Ranch Hand
Joined: Apr 27, 2001
Posts: 195
posted
0
Hi Rob and Greg, Thanks alot!!! That was a fast reply. Its working fine!!! yes what u've said is right. I need to put c:\lax\prog after javac -classpath. Thanks again, Sri
Greg Brouelette
Ranch Hand
Joined: Jan 23, 2002
Posts: 144
posted
0
Great! Glad we were able to help.
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.