Re: How to include *.class file with package in CLASSPATH?



Ulf Meinhardt wrote:
Assume I have an already compiled java class in the following location:

D:\java\output\aaa\bbb\ccc\myclass.class

myclass.java contains the following package information:

package aaa.bbb.ccc;

The current path in the command prompt is

D:\java>

I want to compile another java class test.java which uses the class myclass e.g. in a statement like

myclass dummy = new myclass();

But when I enter a statement like:

javac -cp D:\java\output\aaa\bbb\ccc;%CLASSPATH% test.java

then the compiler complains that he cannot find myclass:

test.java:22: cannot access myclass
bad class file: D:\java\output\aaa\bbb\ccc\myclass.class
class file contains wrong class: aaa.bbb.ccc.myclass
Please remove or make sure it appears in the correct subdirectory of the classpath.
myclass dummy = new myclass();
^
1 error

Why?

I added D:\java\output\aaa\bbb\ccc to the CLASSPATH. Shouldn't that be sufficient?

Ulf


sure you didn't forgot
import aaa.bbb.ccc.myclass; //you should really name it MyClass
in the test.java
and then no need to add something to the classpath if test.class and the "aaa" folder are both in the same folder "output" in your case maybe
the classloader knows that his looking for "myclass.class" under aaa/bbbb/ccc/ :-)
hope that helps
.



Relevant Pages

  • Re: How to include *.class file with package in CLASSPATH?
    ... myclass.java contains the following package information: ... I want to compile another java class test.java which uses the class myclass e.g. in a statement like ...
    (comp.lang.java.help)
  • Re: How to include *.class file with package in CLASSPATH?
    ... myclass.java contains the following package information: ... I want to compile another java class test.java which uses the class myclass e.g. in a statement like ... Please remove or make sure it appears in the correct subdirectory of the classpath. ...
    (comp.lang.java.help)
  • Re: Indirekte Objekterzeugung
    ... Garantie, dass eine Klasse, die diese Codezeile enthält überhaupt geladen werden kann, wenn MyClass nicht im Classpath ist. ... Hier muss lediglich MyInterface im Classpath sein, MyInterfaceImplementation dagegen wird tatsächlich dynamisch geladen. ... Wie gesagt, wenn man die Klasse von einem anderen ClassLoader laden will, dann macht es durchaus auch Sinn. ...
    (de.comp.lang.java)
  • Implication of project dependencies
    ... I am working on a project with VC++ 2003 and it compile & link well, ... myclass & myclass::GetInstance ... responsible of that are the project dependencies. ... this manual reference and checked the project myclass in the project ...
    (microsoft.public.vsnet.ide)
  • Implication of project dependencies
    ... I am working on a project with VC++ 2003 and it compile & link well, ... myclass & myclass::GetInstance ... responsible of that are the project dependencies. ... this manual reference and checked the project myclass in the project ...
    (microsoft.public.vc.ide_general)