Python 은 jpype 모듈 을 사용 하여 jar 패키지 프로 세 스 분석 을 호출 합 니 다.
python 코드 가 자바 코드 를 편리 하 게 호출 할 수 있 는 도구
2.jpype 모듈 설치
설치 와 다른 모듈 은 다 르 지 않 지만 주의 모듈 이름 은 jpype 1 이 고 뒤에 1 이 있 습 니 다.
pip install jpype1
3.jpype 모듈 응용(macOs 아래)
필 자 는 제목 에 사용 하 는 운영 체 제 를 설명 했다.windows 운영 체제 의 설정 이 좀 다 르 기 때문에 나중에 만 나 서 설명 하 자.
3.1 jpype 모듈 테스트
import jpype
\#getDefaultJVMPath 기본 JVM 경로 가 져 오기
jvm_path = jpype.getDefaultJVMPath()
\#startJVM()JAVA 가상 머 신 시작
jpype.startJVM(jvm_path,'-ea',convertStrings=False)
\#jpype 를 이용 하여 출력 문 구 를 호출 합 니 다.
jpype.java.lang.System.out.println('Success')
\#shutdown JVM()JAVA 가상 컴퓨터 닫 기
jpype.shutdownJVM()
위의 코드 에서 hello 를 성공 적 으로 출력 하면 환경 설치 설정 이 성공 했다 는 것 을 설명 합 니 다.
그 중에서 jpype.startJVM()의 정 의 는?
startJVM(jvm, *args)
매개 변수 1:jvm,시스템 에서 jvm.dll 파일 이 있 는 경 로 를 설명 합 니 다.jpype.getDefaultJVMPath()를 호출 하여 기본 JVM 경 로 를 얻 을 수 있 습 니 다.
인자 2:args 는 선택 가능 한 매개 변수 로 JPype 에서 JVM 에 자바 가상 컴퓨터 의 시작 매개 변수 로 직접 전 달 됩 니 다.모든 합 법 적 인 JVM 시작 매개 변수 에 적합 합 니 다.예
예:
자주 사용 되 는-ea 시작 단언 메커니즘,-java.class.path 호출 jar 패키지 경로,-java.ext.dirs 호출 jar 패키지 의존 패키지 디 렉 터 리 등
3.2 jpype 모듈 호출 jar 패키지
첫 번 째 단계:자바 클래스 를 만 들 고 eclipse 등 도구 로 작성 합 니 다.코드 는 다음 과 같 습 니 다.
package com.newdream;
// java
public class Calc {
int num1;
int num2;
public Calc(int n1,int n2) {
this.num1 = n1;
this.num2 = n2;
}
public int add() {
return this.num1 + this.num2;
}
public int sub() {
return this.num1 - this.num2;
}
}
두 번 째 단계:eclipse 에서 이 종 류 를 오른쪽 클릭 하고 export 를 누 르 면 jar 패키지 형식 으로 내 보 냅 니 다.세 번 째 단계:jar 패 키 지 를 python 프로젝트 에 넣 은 후 코드 를 작성 하면 다음 과 같이 호출 할 수 있 습 니 다.
import jpype
jvm_path = jpype.getDefaultJVMPath()
jpype.startJVM(jvm_path,
'-ea',
'-Djava.class.path=%s'%'./libs/Calc.jar',
convertStrings=False)
jclass = jpype.JClass('com.newdream.Calc') #
calc = jclass(10,20) #
value = calc.add() # add
print(value)
jpype.shutdownJVM() # JAVA
이상 jar 패키지 호출 을 완료 할 수 있 습 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.