2012-04-13 3 views
0

판매 기록을 끌어 오기 위해 Apple (Autoingestion.class)에서 만든 Java 클래스를 통합해야하는 vb.net에서 프로젝트를 생성하라는 요청을 받았습니다.vb.net 응용 프로그램에서 사용할 통합 Java 클래스

나는 stackoverflow에 대한 몇 가지 질문을 발견했지만 주어진 답변 중 아무 것도 내 java 응용 프로그램에서이 Java 클래스를 통합하려고 시도하지 않았습니다.

예를 들어 this question이 정말로 필요하지만이 Java 클래스를 컴파일하려고 할 때 (처음에는 Java Decompiler를 사용하여 디 컴파일 된) 일반적으로 오류가 발생합니다.

저는이 응용 프로그램에서이 클래스를 사용하여 메서드를 호출해야합니다. 아무도 많은 닌자 - ing하지 않고 이것을 풀 수있는 방법을 알고 있습니까?

편집 : 여기 여기에 해당 클래스가 포함되어 있으므로 단순히 닷넷에서 기존 자바 코드를 실행하는 것입니다 (닷넷 - 이따 위의 의견에 자바 코드를 다시 작성 제외) decompiled code from Autoingestion.class

+0

허용 된 _answer_?에서 설명한대로 ikvm을 사용 했습니까? 그것은 decompiling 전혀 언급하지 않습니다. – Oded

+0

Oded,받은 파일은 컴파일 된 Java 클래스이므로 파일 확장자는 .class입니다. jar 파일을 만들려면 코드를 디 컴파일하여 새로운 자바 프로젝트를 만들고 결국 .jar 파일을 ikvm에 전달할 수 있도록해야했습니다. 따라서 위에서 언급 한 것처럼 디 컴파일 된 코드는 실행되지 않습니다. 여기에 예시 코드를 게시 할 수 있습니다. 또한 컴파일 된 Autoingestion.class 파일에서 .jar 파일을 만들려고했는데 ikvm에서 만든 .dll 파일을 통합 할 때 내 .net 응용 프로그램이이 DLL의 구성원에 액세스 할 수 없습니다. – Hallaghan

+0

[jar 명령] (http://docs.oracle.com/javase/tutorial/deployment/jar/build.htm)은 파일 및/또는 디렉토리를 입력으로 사용하고 Java 소스 (javac)를 컴파일하지 않습니다. jar 파일에 클래스를 추가하려면 클래스를 디 컴파일/다시 컴파일 할 필요가 없습니다. 결국 jar 파일은 일부 추가 메타 데이터 컨텐츠가있는 zip 파일 일뿐입니다. – krock

답변

2

가장 간단한 솔루션입니다 main method. 이 자바 클래스를 가정 같은 즉, 뭔가 (그리고 자바가 경로에) 닷넷 응용 프로그램의 작업 디렉토리에 있습니다

Shell("java Autoingestion <options>") 

이 원래의 기능을 유지하고 현재 할 유사한 명령을 사용합니다.

+0

Krock, 솔루션에 감사드립니다. 답으로 표시하겠습니다. 나는 이미 .net에서 dll을 사용할 수 있었다. 분명히, 내가 잘못하고있는 것은 main 메소드의 이름을 다른 것으로 변경 한 다음 ikvm을 다시 사용해야한다는 것입니다. 이번에는 그것을 작동시킬 수있었습니다. ikvm 개발자에게 명성을 얻었습니다. 놀라운 앱입니다. – Hallaghan

+0

결국 필자는 Apple이 파일을 업데이트 할 때마다 dll을 생성해야하는 번거 로움을 덜어주기 위해 솔루션을 선호했습니다. 다시 한번 감사드립니다. – Hallaghan

관련 문제