2011-11-15 2 views
0

잠시 동안 검색을 해봤는데이 문제에 대한 답을 찾지 못하는 것 같습니다. 사용자 정의 .class 파일을 .jar없이 직접 자이 썬으로 가져올 수 있습니까? 자이 썬을 사용하여 Java에서 작성중인 파일을 테스트하고 싶습니다 (이 경우 Netbeans를 사용하고 있습니다). 자이 썬은 궁극적으로 자이 썬을 스크립팅 언어 (게임이 될 것)와 메인 루프 코드로 사용하려고한다. 하지만 지금은 자이 썬이 .class 파일을 가져올 수 없으며, 코드를 테스트하거나 뭔가를 시도 할 때마다 모든 것을 .jar로 만들 필요가 없다 ...jar 대신 .class 파일을 사용하여 Java 클래스를 Jython으로 가져 오기

나는 가지고있다. 이미 모든 .class 파일을 포함하는 폴더를 sys.path와 classpath에 추가했습니다. 나는 패키지를 가져올 때 그것이 나에게 준다 ('x86Wars'... '게임 보이 어드밴스 위해이었다 사전 전쟁 ...을 기반으로 원인) :

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named x86Wars 

을하지만 난의 .class 파일을 가져올 때 이름을 직접 (I 실제로 된 .java 소스와의 .class 하나를 포함하는 폴더를 모두 추가 한), 나를 제공합니다 : 어떤 도움을 크게 감상 할 수

java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: FullScreenDisplay (wrong name: x86Wars/FullScreenDisplay) 

!

+1

폴더 패키지 이름을 올바르게 모방 하시겠습니까? 루트에서 python 경로 (및 클래스 경로)에 추가 한 com.game.x86wars의 각 점으로 구분 된 이름에 하나의 폴더가 있어야합니다. /com/game/x86wars/class.class –

+0

사실, 완벽하게 작동했습니다. ! 패키지 이름은 간단히 x86Wars (잠시 동안)이고 CLASSPATH에 C :/something/something/x86Wars를 추가했으며, 하나 (예 : C :/something/something)를 백업했을 때 작동했습니다. 사실 자바는 '/'로 끝나는 CLASSPATH를 좋아하지 않기 때문에 처음에는 그렇지 않았습니다. 이 질문에 공식적으로 대답하고 싶다면 다른 사람들이 답변을 볼 수 있도록 최선을 다할 것입니다. – atomictom

+0

답변으로 이전 코멘트를 추가했습니다. –

답변

1

폴더가 패키지 이름을 올바르게 모방했는지 확인하십시오. 루트에서 Python 경로 (및 클래스 경로)에 추가 한 com.game.x86wars의 각 점으로 구분 된 이름에 대해 하나의 폴더가 있어야합니다. /com/game/x86wars/class.class