Home > Archive > Java Help > January 2006 > Confused about how packages work.
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Confused about how packages work.
|
|
| JoshRountree@gmail.com 2006-01-30, 3:58 am |
| Say I have these two classes, in separate files, MyTest.java,
MyOtherTest.java
package edu.newpack.test
class MyTest {
MyOtherTest mOT;
MyTest() {
}
}
package edu.newpack.test
class MyOtherTest {
MyOtherTest() {
}
}
When I compile MyTest.java with javac MyTest.java in the directory
where both are located why does it say it cannot find MyOtherTest.java
..
Both files are in c:\sources\edu\newpack\test\
I can compile MyOtherTest.java just fine. If I import the package I
don't get the symbol not found error, but I thought if both classes
were in the same package I didn't have to import anything.
thanks
| |
| Roedy Green 2006-01-30, 3:58 am |
| On 29 Jan 2006 21:37:58 -0800, JoshRountree@gmail.com wrote, quoted or
indirectly quoted someone who said :
>
>When I compile MyTest.java with javac MyTest.java in the directory
>where both are located why does it say it cannot find MyOtherTest.java
The practical solution to your problem is to say:
javac *.java
and be done with it let Javac sort it out. This is what you have to do
to deal with circular references anyway.
It probably makes it worse that your classes are not public.
The solution you will eventually home in on is using ant scripts to do
your builds. Then you let ant worry about it.
It is tricky figuring out when Javac will compile or recompile classes
other than the ones you explicitly asked it to compile. I have found
that relying on Java to do that nearly always leads to trouble,
especially when you have mixed -target specifications.. I explicitly
compile the library packages first then client packages, always a
whole package at a pop, always using ANT, which does it every so much
more quickly than you can from the command line loading javac.exe over
and over.
See http://mindprod.com/jgloss/javacexe.html
http://mindprod.com/jgloss/ant.html
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
| |
| Stefan Schulz 2006-01-30, 8:02 am |
| Look at the -sourcepath and -classpath switches for javac. You might
wish to do -sourcepath C:\sources
|
|
|
|
|