2014-09-10 2 views
3

제 질문은 ImportErrorCmd과 비슷하지만 Windows를 사용하고 PyDev Eclipse에서이 DAMN을 실행하려고합니다. cmd에서는 작동하지만 Eclipse에서는 작동하지 않는 방법을 알고 있습니다.PyDev : Eclipse에서 자이 썬을 사용하여 사용자 정의 Java 메소드를 호출 할 때 ImportError

질문

어쨌든, 그래서 나는 여기을 (솔루션이 나를 위해 작동하지 않았다) 작업을 ImportErrorSimpleExample@이 예제를 얻기 위해 노력하고 있어요. (링크 ->C : Greeter.java \ 사용자 \ compski \ 작업 공간 \ 테스트 \ SRC의 \ 테스트 \) 이클립스에서이 코드와 자바 프로젝트 만든 이클립스에서

package test; 

public class Greeter { 

private String msg; 

    public Greeter() { 
    msg = "Hello, "; 
    } 

    public void greet(String name) { 
    System.out.println(msg + name); 
    } 

} 

를, 내가 만든 자이 썬 코드라는 me.py와의 PyDev 프로젝트 : (링크 ->C : 자이 썬 \ 테스트 \가을 me.py \ \ compski \ 작업 \ 사용자) "ImportError를"을 해결하기 위해

from test import Greeter 

g = Greeter() 
g.greet("yours truly") 

시도하지만, 실패 :

1) PYTHONPATH (C : \ Users \ compski \ workspace \ test \ src \ test \ Greeter.java와 C : \ Users \ compski \ workspace \ test \ src \ test)에 자바 코드를 추가하려고했습니다. >Proposed Solution 1. 아직도 작동하지 않았다

2) 나는 Java 프로젝트를 PyDev 프로젝트 (Java 프로젝트 -> PyDev -> Pydev 프로젝트로 설정)로 설정했지만 "bin 폴더"가 없다. Greeter.java를 포함하는 Java 프로젝트 ->Proposed solution 2 아직도 작동하지 않았다.

3) 채팅에서 1 명의 남자가 "디렉토리, 병을 추가해야합니다. java가 당신에게 c : \ foo \ bar \ baz를주고 클래스를 찾으면 zyxxy.Frobnicator를 가져 와서 c : \ foo \ bar \ baz \ xyzzy \ Frobnicator를 찾는다. "그러나 나는 완전히 이해했다고 생각하지 않는다. 그가 의미 한 바가 1에서 한 것처럼 들린다.

4) ...... 당신의 대답은?

+0

CLI에서 작동한다고 말하면됩니다. 너 거기서 뭐 했니? – OldTinfoil

+0

CMD 프롬프트? .. 나는 기본적으로 (javac Greeter.java를 사용하여) cmd 프롬프트에서 java 파일을 컴파일했다.그런 다음 Greeter.class와 동일한 디렉토리로 이동하여 Jython을 실행했습니다 (cmd에서). Java 메소드를 가져오고 호출하면 완벽하게 잘되었습니다. – compski

+0

어떤 명령을 사용 했습니까? Jython은 어떻게 설치 되었습니까? 독립형 자이 썬 항아리 였나요? 또는 자이 썬을 시스템에 설치 했습니까? – OldTinfoil

답변

1

확인은, 지금 우리는 여기에 실제 파일 이름을 가지고 : 당신이 from test import Greeter을 한 후, 그것은 PYTHONPATH의 각 항목의 Greeter.class을 찾기 위해 시도 할 것이라고 PYTHONPATHC:\Users\compski\workspace\test\src\test에 대하여; 즉, C:\Users\compski\workspace\test\src\test\test\Greeter.classC:\Users\compski\workspace\test\src\test\Greeter.java\test\Greeter.class 중 어느 것도 존재하지 않습니다.

대신, 이클립스에 내가 정확하게 당신이 PYTHONPATH프로젝트을 추가 할 수 있습니다 기억한다면, 이것은 IDE에서 테스트 용으로 선호 될 수있다 - 따라서 단지 PYTHONPATH에 같은 당신의 test 프로젝트를 추가 할 수 있습니다. 또 다른 옵션은 test\Greeter.class이있는 디렉토리를 추가하는 것입니다. Eclipse에서 이것은 C:\Users\compski\workspace\test\bin이어야합니다 - 기본적으로 Java 성격의 프로젝트는 src에서 프로젝트 내의 (숨겨진) bin 폴더로 파일을 컴파일합니다.

마지막으로 test에 GreeterClass가없는 경우, test은 파이썬 모듈의 기본 제공 이름입니다 (IIRC 자이 썬은 해당 이름의 모듈이 없지만).

+0

+1 그게 해결 된 핵심 것은 'C : \ Users \ compski \ workspace \ test \ target \ bin'(바보 대상 폴더 빈 숨겨) 감사합니다! – compski