K
KevinSimonson
I'm having a nasty time figuring out how to use JAR files. I have a
directory "Jrs" that includes an "abc" directory and a "def"
directory. In directory "abc" I have a single file called
"AbcCl.java" coded:
package abc;
public class AbcCl
{
public String toString ()
{
return "[AbcCl Object]";
}
}
and in directory "def" I have a single file called "DefCl.java" coded:
package def;
public class DefCl
{
public String toString ()
{
return "[DefCl Object]";
}
}
Back in "Jrs" I have a file "UseEm.java" coded:
import abc.AbcCl;
import def.DefCl;
public class UseEm
{
public static void main ( Strin[] arguments)
{
AbcCl ac = new AbcCl();
DefCl dc = new DefCl();
System.out.println( "ac == " + ac + ", dc == " + dc + '.');
}
}
Then I executed "javac UseEm.java", which created three class files,
an "abc\AbcCl.class", a "def\DefCl.class", and a "UseEm.java".
Finally I created two jar files with commands "jar -cf abc.jar abc"
and "jar -cf def.jar def".
Then I created a "Jrs2" directory, a sibiling to "Jrs", and copied to
it "UseEm.java" and the two JAR files. In that "Jrs2" directory I
typed in the command "javac -cp abc.jar:def.jar", and as a result got
a whole bunch of error messages. I was kind of expecting that.
At that point I typed in "jar -xf abc.jar" which extracted the "abc"
directory, and I thought that therefore I should be able to compile
"UseEm.java" with the command "javac -cp .:def.jar UseEm.java". But
when I tried it I got error messages:
UseEm.java:1: package abc does not exist
import abc.AbcCl;
^
UseEm.java:2: package def does not exist
import def.DefCl;
^
UseEm.java:8: cannot find symbol
symbol : class AbcCl
location: class UseEm
AbcCl ac = new AbcCl();
^
UseEm.java:8: cannot find symbol
symbol : class AbcCl
location: class UseEm
AbcCl ac = new AbcCl();
^
UseEm.java:9: cannot find symbol
symbol : class DefCl
location: class UseEm
DefCl dc = new DefCl();
^
UseEm.java:9: cannot find symbol
symbol : class DefCl
location: class UseEm
DefCl dc = new DefCl();
^
6 errors
Does anybody have any idea what I'm doing wrong? Why can't I get the
code I need to compile out of this JAR file? And _why in the world_
can't my compiler see the <AbcCl> class? The "abc" directory is
_right there_, with an "AbcCl.class" and an "AbcCl.java" file right in
it?
Kevin Simonson
directory "Jrs" that includes an "abc" directory and a "def"
directory. In directory "abc" I have a single file called
"AbcCl.java" coded:
package abc;
public class AbcCl
{
public String toString ()
{
return "[AbcCl Object]";
}
}
and in directory "def" I have a single file called "DefCl.java" coded:
package def;
public class DefCl
{
public String toString ()
{
return "[DefCl Object]";
}
}
Back in "Jrs" I have a file "UseEm.java" coded:
import abc.AbcCl;
import def.DefCl;
public class UseEm
{
public static void main ( Strin[] arguments)
{
AbcCl ac = new AbcCl();
DefCl dc = new DefCl();
System.out.println( "ac == " + ac + ", dc == " + dc + '.');
}
}
Then I executed "javac UseEm.java", which created three class files,
an "abc\AbcCl.class", a "def\DefCl.class", and a "UseEm.java".
Finally I created two jar files with commands "jar -cf abc.jar abc"
and "jar -cf def.jar def".
Then I created a "Jrs2" directory, a sibiling to "Jrs", and copied to
it "UseEm.java" and the two JAR files. In that "Jrs2" directory I
typed in the command "javac -cp abc.jar:def.jar", and as a result got
a whole bunch of error messages. I was kind of expecting that.
At that point I typed in "jar -xf abc.jar" which extracted the "abc"
directory, and I thought that therefore I should be able to compile
"UseEm.java" with the command "javac -cp .:def.jar UseEm.java". But
when I tried it I got error messages:
UseEm.java:1: package abc does not exist
import abc.AbcCl;
^
UseEm.java:2: package def does not exist
import def.DefCl;
^
UseEm.java:8: cannot find symbol
symbol : class AbcCl
location: class UseEm
AbcCl ac = new AbcCl();
^
UseEm.java:8: cannot find symbol
symbol : class AbcCl
location: class UseEm
AbcCl ac = new AbcCl();
^
UseEm.java:9: cannot find symbol
symbol : class DefCl
location: class UseEm
DefCl dc = new DefCl();
^
UseEm.java:9: cannot find symbol
symbol : class DefCl
location: class UseEm
DefCl dc = new DefCl();
^
6 errors
Does anybody have any idea what I'm doing wrong? Why can't I get the
code I need to compile out of this JAR file? And _why in the world_
can't my compiler see the <AbcCl> class? The "abc" directory is
_right there_, with an "AbcCl.class" and an "AbcCl.java" file right in
it?
Kevin Simonson