2012-04-26 2 views
0

나는 리눅스 도구를 Windows에 이식하려고합니다. 이 도구는 리눅스 시스템에서 잘 작동하지만 지금은 윈도우에서 "기호를 찾을 수 없습니다"오류가 발생합니다. 자바 가져 오기 "기호를 찾을 수 없습니다"

나는이 작은 메인 클래스가 있습니다

package foo; 

import foo.bar; 

public class Main { 
    public static void main(String[] args) throws Exception { 
     bar.getInstance(); 
    } 
} 

및 오류가 javac의의 Main.java하는 동안, 지금 나타납니다

수입 foo.bar : 찾을 수없는 기호 ^ 기호 : 클래스 바 위치 : 패키지 foo

Main.java와 bar.java는 같은 디렉토리에 있습니다. 내가 무엇을 놓치고 있습니까? bar는 관용적으로 Bar를 호출 할 필요가 우선

+0

javac * .java를 시도해도 동일한 결과가 나타 납니까? – scrappedcola

답변

5

, ...

이상적으로, 당신은 다음과 같이, Main.java 위의 디렉토리 에서 컴파일해야합니다

javac -d out foo/Main.java foo/Bar.java 

을 그 것이다 Main.class와 Bar.class를 포함하는 다른 디렉토리 "foo"를 포함하는 "out"이라는 디렉토리를 생성하십시오. 다시 상위 디렉토리에서 그래서, 당신은 실행할 수 있습니다 :

java -cp out foo.Main 

소스 위치는 패키지 구조에 맞게이 없습니다. 당신 그냥이 같은 Main.javaBar.java 들어있는 디렉토리에서 javac의를 호출 할 수 있습니다

javac -cp out Main.java Bar.java 

(그리고 이전과 동일한 방식으로 실행) 그러나,이 따라 소스 코드를 구성하는 더 나은 아이디어가 일반적이다 패키지에.

모든 컴파일 등을 처리하는 IDE (예 : Eclipse 또는 NetBeans)를 사용하는 것이 더 쉽습니다. 명령 줄에서 실제 프로젝트를 빌드하려면 Ant 또는 Maven과 같은 전체 빌드 시스템을 사용해야합니다.

(같은 방법으로 컴파일하려고 경우, Windows에서 리눅스에서 같은 오류를 얻을 것이라고합니다.)

+0

빠른 솔루션 Thx. – MindlessMaik

1

을 당신이 foo는 컴파일하기 전에 제대로 클래스 줄을 컴파일 할 필요가 있다고 생각 , 이것은 적절한 패키지 구조로 클래스 파일을 생성합니다.

관련 문제