2012-01-10 4 views
0

이 질문이 반복되지 않기를 바랍니다. 하지만 그냥 어디서나 대답을 찾을 수 없습니다 :Java : 클래스가 해결 되었습니까?

하나의 폴더에 두 개의 파일을 포함하고 있습니다. A.java 또 다른 B.class.

지금 A.java에서 내가

public class A extends Applet{ 
... 
    B aB; 
} 

컴파일러를 선언하는 시도하고 저를 준다 : 나는 파일이 같은 폴더에있는 경우라고 글을 많이 읽어

B cannot be resolved to a type 

, 가져올 필요가 없습니다. 누구든지이 문제를 "해결"하도록 도울 수 있습니까? 감사합니다.

----------- 해독! - 아래 답변보기 ------------------

+0

을 돌봐 여기에 많은 도움이 될 것입니다 eclipse 같은 IDE를 사용하여, 나는 생각 b.class 파일 (b.java)에서 클래스 이름은 'B'였을 것입니다. 작은 'b'입니까? 확인해주십시오!! 문제가 해결되지 않으면 클래스 B의 게시 코드를 시도하십시오. – aProgrammer

+0

변경 ... 예. 일관성이 있습니다. 나는 두 가지 예로서 A와 B를 사용하고 있습니다. 원본 코드는 조금 복잡합니다 ...하지만 아마도 곧 게시 할 수 있습니다. – user1140120

+0

클래스 선언에 이름과 패키지가 포함 된 전체 폴더 구조를 표시 할 수 있습니까? –

답변

0

나를 게시 한 간단한 사례입니다. 나는 다음 사항을 확인 것 :

  • 당신은 B.classA.java과 같은 폴더에 있는지 확실합니까?
  • javac을 해당 폴더에서 실행하고 있습니까?
  • 프로그램에서 어디서나 클래스 이름 B을 올바르게 입력 했습니까? 여기에는 Java 식별자가 대소 문자를 구분하므로 대문자가 포함됩니다.
  • 프로그램에 package 신고가 있습니까? 존재하는 경우 아무 것도 폴더에 모든 것을 던져서 암시 적으로 기본 패키지를 사용하기 때문에 아무 것도 작동하지 않습니다.
-1

컴파일러는 클래스 경로에서 * .class 파일을 찾습니다. 동일한 소스 디렉토리에서 * .java 파일 만 찾습니다. 디렉토리를 포함하도록 클래스 경로를 설정해야합니다.

또는이 모든 것을 설정하고 처리에 많은 시간을 절약 할 수있는 IDE를 사용할 수 있습니다.

+0

기본 패키지를 사용하고 있다면 컴파일러는 현재 디렉토리에서'.class' 파일을 찾습니다. – Taymon

1

.class 파일은 classpath 변수가 참조하는 디렉토리에 있어야합니다. 일반적으로 .java 파일을 하나의 디렉토리 (src)에 넣고 다른 디렉토리 (bin)로 컴파일하고 외부 .class 파일을 세 번째 디렉토리 (lib)에 넣습니다. 명령은 다음과 같이 표시됩니다

# compile 
javac -sourcepath src -classpath lib -d bin 
# run 
java -classpath bin:lib A 

당신은 클래스 'A'를 가지고 a.java이 파일의 세부 사항의 대부분의

+0

감사합니다. 그것은 작동합니다, "javac -classpath dirForAandB A.java"많이 사용했습니다! – user1140120

관련 문제