Solved

import problem

Posted on 2004-04-01
20
284 Views
Last Modified: 2013-11-23
Very easy question. Can someone tell me how to import a class which resides in a folder outside current folder?

i have a Abc.java in abc folder, and i want to import cde.java which resides in cde folder, and cde folder and abc folder both resides in def folder.

0
Comment
Question by:jtcy
  • 12
  • 3
  • 2
  • +3
20 Comments
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
Add the folder to the class-path.
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
Add the folder cde to the class-path, I mean.
0
 

Author Comment

by:jtcy
Comment Utility
how?
import cde/cde; ?
0
 
LVL 30

Accepted Solution

by:
mayankeagle earned 200 total points
Comment Utility
In the command-prompt:

set classpath=%classpath%C:\DEF\CDE;.

(assuming that the cde folder is in c:\def - you need to give the full-path for cde).

http://www.mindprod.com/jgloss/classpath.html
0
 
LVL 30

Assisted Solution

by:mayankeagle
mayankeagle earned 200 total points
Comment Utility
>> import cde/cde; ?

Do that only if cde.java is in a package. Have you specified any package for it? Like:

package cde ;

class cde
{
}

- or does it not have a package?
0
 

Author Comment

by:jtcy
Comment Utility
my directory:

abc folder - contains abc.java labelled package abc
cde folder - contains cde.java labelled package cde

and i wan cde to import abc folder.
do i do like..import abc/abc.java? would it work? cuz they are two different folders

0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
>> package cde ;

If it is in a package, then add only its parent directory to the class-path.
0
 
LVL 30

Assisted Solution

by:mayankeagle
mayankeagle earned 200 total points
Comment Utility
- abc folder should contain abc.class

- cde folder should contain cde.class

Use: import abc ; for importing it

Use: import def ; for importing it

Set the classpath till the parent directory of these two.

set classpath=%classpath%;C:\DEF;.

- if C:\DEF contains these two folders.
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
Can we have it closed now?
0
 
LVL 92

Expert Comment

by:objects
Comment Utility
> do i do like..import abc/abc.java?

use:

import abc.abc;

0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
>> Use: import abc ; for importing it

Sorry, that should have been:

import abc.* ; // for all classes

or import abc.abc ; // only for this class.
0
 
LVL 1

Expert Comment

by:raghav9992003
Comment Utility
use:package cde;
in your abc.javafile

so that u can access that java file

try it
0
 
LVL 1

Expert Comment

by:raghav9992003
Comment Utility
package cde;
 importing packages. if any other things are needed.
public class abc
{
//main method and other code
in this code u can create instance for cde.java file and use it
}
0
 
LVL 16

Expert Comment

by:gnoon
Comment Utility
>abc folder - contains abc.java labelled package abc
>cde folder - contains cde.java labelled package cde

abc
| - abc.java

after you compiled it (javac -d . abc.java), result will be

abc
| - abc.java
| - abc
     | - abc.class

and also for cde.java

cde
| - cde.java
| - cde
     | - cde.class

To import abc class into cde.java, you need to compile abc.java first (javac -d . abc.java)
, then add <abs path>\abc (that contains abc.java) directory into your classpath (as mayankeagle commented)
, and then compile cde.java.
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
>> use:package cde;
>> in your abc.javafile

No way. He wants it to be in another package abc.

jtcy,

You asked the same question at:

http://www.experts-exchange.com/Programming/Programming_Languages/Java/Q_20941000.html

- please don't ask the same question twice - that too, with the same subject! Since that one is closed, I'm expecting this one to be closed too. Or if you have any more doubts, then please ask them on THIS page since this is still open, and not on that page.
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
I hope you have given notice to my previous comment:

>> - abc folder should contain abc.class
>> - cde folder should contain cde.class

- Mind it. Its .CLASS file and not .JAVA file

>> Set the classpath till the parent directory of these two

- keep in mind like gnoon suggested that the parent directory need not be the same. In that case, you have to add both the parent directories to the class-path
0
 

Author Comment

by:jtcy
Comment Utility
Sorry, i didnt want to open two questions. I accidentally clicked twice of it. tats why. um~~~ regarding to this problem i donno`~ basically, i just want to go for a coke..but cant. lol

um.....Okay, as what i have said above.........I have:

folder ast - containing ast classes files, each are packaged as ast;
folder rclast - containing rclast classes files, each packaged rclast;

both folders exists in myDirectory.

NOW, the thing is I want to use ast classes stuff in rclast classes, but i was told to do this without changing anything of classpath.

0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
Why would you want to do that without class-path? Did your teacher not tell you what classpath is?

It is very vital to Java: http://www.mindprod.com/jgloss/classpath.html

What you can try is: put your ast and rclast folders (containing the class-files) in the jdk\bin folder. See if that helps.
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
>> I accidentally clicked twice of it.

Hereafter, you can take care of it: you can click on the Delete link which will be available above the Comment box if no comments have been posted to your question as yet.
0
 
LVL 14

Assisted Solution

by:StillUnAware
StillUnAware earned 50 total points
Comment Utility
One more thought:

if you want to use your own classes in different directories without setting the CLASSPATH, then you cal put all your folders, classes, packages, etc. into folder %JRE_INSTALL%\CLASSES\  where %JRE_INSTALL%\ is the directory where java runtime installation is.
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
scoreUp challenge 14 47
array220 challenge 8 44
countHi2 challenge 7 42
Problem to start Neon 20 48
For customizing the look of your lightweight component and making it look lucid like it was made of glass. Or: how to make your component more Apple-ish ;) This tip assumes your component to be of rectangular shape and completely opaque. (COD…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
This video teaches viewers about errors in exception handling.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now