2012-10-10 2 views
0

그래서 일치하지 않는,이 코드가 있습니다가 선언 된 패키지 테스트가 예상 패키지

package test; 
import test.Pi; 
public class Demo { 
    public static int pi = 3; 
    public static void main (String args[]) { 
     System.out.println("Hello!"); 
     Pi.main(args); 
     System.out.println("Hello again!"); 
    } 
} 

을하지만 일식 선언 된 패키지 테스트가 일치하지 않습니다 "라는, 매우 첫 번째 줄에 오류를 던지고 유지 예상 된 패키지 ". 도움이 되었습니까? 감사! 이 클래스의 패키지 (Demo가) test 것을를 선언 에 노력하고 있지만, 컴파일러 오류가 잘못된 장소에있어 보여줍니다 의미 -을 가져 의 문제가 아니다

답변

3

- 소스 루트 아래에있는 test 디렉토리가 아닌 소스 경로의 루트에 있습니다.

세 가지 가능한 변화 :

  • test 패키지에 넣어하지 마십시오 당신의 질문의 제목이 주어지면, 당신이 그 일을하려고하든 안했는지는 분명하지 않습니다. 선언하고있는 클래스와 동일한 패키지에있는 클래스를 가져올 필요가 없습니다.

  • Demo.javatest 폴더로 이동하십시오 (아직없는 경우). Demo.javatest 폴더에 이미 경우 그 부모 디렉토리가 소스 루트가되도록

  • 는 빌드 구성을 변경합니다.

+0

내가 분명히해야 할 것은 - 가져 오기 기능을 사용하여 다른 패키지의 클래스를 참조하려고합니다. – DavidCa1226

+0

@ user1470896 : 다른 패키지에는 없지만 패키지 선언에 'package test; –

+0

@ user1470896 :하지만 오류를 일으키는 것은 가져 오기가 아닙니다. 자신이 말했듯이 오류는 첫 번째 행에 있으며, 이는 패키지 선언입니다. –

0

- 수신 한 오류는 잘못된 패키지 이름을 사용하는 것을 말한다.

- 참조하시기 바랍니다. 은 (는) 테스트 디렉토리에 있습니다. 그리고 패키지의 이름 앞에 `를 제거하십시오 -

.

관련 문제