c\#jar 가방 을 호출 하 는 방법 절차(매우 상세)
최근 프로젝트 에 문제 가 생 겼 습 니 다.바로 cs 엔 드 데 이 터 를 암호 화(sm4 의 암호 화 방법 사용)해 야 한 다 는 것 입 니 다.백 엔 드 수신 은 복호화 가 필요 합 니 다.그러나 cs 엔 드 는 c\#쓴 백 엔 드 는 자바 가 쓴 것 입 니 다.양쪽 의 암호 화 방식 의 결 과 는 다 를 수 있 습 니 다.물론 우리 의 이 요 리 는 알고리즘 에 대한 연구 가 깊 지 않 습 니 다.뒤에 중간 c 언어 를 호출 하 는 방법 을 찾 았 지만 잘 되 지 않 았 습 니 다.마지막 으로 찾 은 방법 은 자바 코드 를 jar 패키지 로 만 든 후 dll 로 변환 하여 cs 단 에서 호출 할 수 있 도록 하 는 것 입 니 다.
절 차 는 아래 와 같다.
1.컴 파일 된 자바 의 Class 파일 을 포장 합 니 다.포장 명령 JAR
포장:명령 을 사용 할 수도 있 고 eclipse 와 아이디어 같은 도 구 를 사용 하여 직접 포장 할 수도 있 습 니 다[원본 코드 는 마지막 에 놓 습 니 다]
2.IKVM 공식 사이트 에서 IKVM 에 필요 한 구성 요 소 를 다운로드 합 니 다.
www.ikvm.net/
인터넷 에는 jdk 버 전이 이것 과 관련 이 있다 는 것 을 언급 하지 않 은 많은 튜 토리 얼 이 있 습 니 다.그림 에서 보 듯 이 1.8 버 전 을 지원 합 니 다.이것 은 낮은 버 전 으로 호 환 되 지 않 습 니 다.이 버 전의 ikvm 을 찾 지 못 하면 저 에 게 개인 적 으로 이 야 기 를 나 눌 수 있 습 니 다.
3.설정 경로 압축 풀기 ikvm-8.1.5717.0.zip,IKVM 설정 가능HOME 의 경 로 는 환경 변수 에 이 르 기 까지 고정된 경 로 를 사용 하여 설정 할 수 있 습 니 다.저 는 완전한 경 로 를 직접 설정 합 니 다.
4.자바 의 jar 패 키 지 를.dll 컨트롤 로 변환 하 는 명령:ikvmc-target:library xxx.jar 와 ikvmc-target:library-reference:A.dll-reference:B.dll 주 를 참조 하 는.jar
전자 명령 은 jar 를 dll 로 만 들 고 후 자 는 jar 를 dll 로 만 드 는 동시에 외부 에서 도입 해 야 할 dll 패키지(원래 jar 패키지 참조)를 추가 합 니 다.
ps:저 는 jar 패 키 지 를 ikvm 의 bin 디 렉 터 리 에 복사 하고 bin 디 렉 터 리 에서 사용 하 는 ikvmc 명령 입 니 다.idea 를 사용 하여 모든 lib 패 키 지 를 하나의 디 렉 터 리 에 넣 고 modules 에 도입 한 것 이 라면 메 인 jar 패 키 지 를 하나의 dll 로 만 들 면 됩 니 다.다른 것 은 cs 에 인용 하지 않 아 도 됩 니 다.elipse 는 dll 로 모두 도입 해 야 합 니 다.[여 기 는 실제 상황 을 보면 모두 dll 로 도입 하 는 것 이 좋 습 니 다.5.C\#프로젝트 에 필요 한 컨트롤 을 추가 하 는 전제 에서 다운로드 해 야 합 니 다.ikvm,그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.
포 장 된 dll 참조
이제 사용 할 수 있어 요.
총결산
c\#jar 가방 호출 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 c\#jar 가방 호출 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.