2017-05-15 6 views
2

나는, 자이 썬 스크립트로 자바 패키지 "TestPackage"을 가져 싶었다자이 썬 자바 패키지 가져 오기 문

ImportError: No module named TestPackage","errorPoint":"","lineNumber":"1","errorPointMessage":"in <module>\nImportError: No module named TestPackage 

내가 from TestPackage import SampleClass 작품을 잘 사용

import TestPackage 
print TestPackage.SampleClass().getMessage(); 

나는 다음과 같은 오류를 얻고있다. 내가 from <pacakage> import <anyclass> 문장을 한 번 실행하면 import <pacakage>이 가져 오기 오류없이 작동합니다.

이 설정을 시도했지만이 작동하지만 메모리 누수가 발생합니다.

import TestPackage을 사용하는 다른 방법이 있습니까? 자이 썬에서 메모리 누수없이 "import <packagename>"을 어떻게 사용할 수 있습니까?

+0

TestPackage의 전체 패키지 이름은 무엇입니까? 예를 들어,'org.example.test.TestPackage'는'import org.example.test.TestPackage' 또는'org.example.test import TestPackage'에서 가져올 수 있습니다. 자바에서와 동일 :) jar 파일이 자이 썬 클래스 패스에 없다면 추가한다. 빠른 해킹 인'import sys; sys.path.append ('/ path/to/testpackage.jar')'가 작동합니다. – IceArdor

+0

패키지 경로가 "TestPackage"인 패키지 경로입니다. – Kajal

답변

0

이것은 Java와 Python의 차이 때문입니다.

Java에서는 클래스, 정적 가져 오기 상수 및 정적 메서드를 가져올 수 있습니다. 패키지를 가져올 수 없습니다. import java.util;은 컴파일 오류이지만 import java.util.Collections; 또는 import java.util.Collections.*;이 좋습니다. Java 패키지는 많은 클래스를 구성하는 방법이지만 생성자, 메소드 또는 상수가있는 클래스는 아닙니다. Java 패키지를 해당 패키지에 속한 모든 클래스가 포함 된 zip 파일로 생각합니다. Java 패키지는 단지 네임 스페이스 일뿐입니다.

파이썬에서는 모듈, 클래스 및 가져 오기 클래스, 함수 및 상수를 가져올 수 있습니다. 그러나 Python 모듈은 자바 패키지보다 Java 클래스와 훨씬 비슷합니다. 단순히 "클래스의 zip 파일"이 아니라 하위 클래스가 포함 된 클래스입니다. Python 모듈은 init .py라는 폴더에있는 스크립트 모음으로, 해당 모듈의 클래스와 메서드를 정의합니다. 따라서 import collections과 같은 작업을 수행 할 수 있습니다. 파이썬에서는 import collections.OrderedDict, from collections import OrderedDictfrom collections import OrderedDict as OD도 사용할 수 있습니다.

Java 패키지를 가져올 수없는 이유가 여기에 설명되어 있기를 바랍니다. 파이썬이 변수를 생성하려면 자바 패키지에서 뭔가 (아마도 클래스)를 가져와야한다.