2013-07-16 3 views
2

방금 ​​외부 종속성을 포함하는 JAR 파일을 작성하여 하나의 JAR 파일 만 갖도록했습니다. FatJar를 사용하여이 작업을 수행했습니다. 내가 이것을 할 때 나의 항아리는 잘 작동했고, 문제없이 그것을 실행할 수있었습니다. 그런 다음 ikvm을 사용하여 Jar 파일을 exe 파일로 변환했습니다. 내가 EXE 파일을 실행하려고하면이 오류를 얻을 : IKVMC Runner 클래스

Exception in thread "main" java.lang.IllegalArgumentException: Unable to locate com.simontuffs.onejar.Boot in the java.class.path: consider using -Done-jar.jar.path to specify the one-jar filename

그래서 내가 생각 첫 번째 것은이 클래스 경로를 지정 매니페스트 파일이 있다면 확인하는 것이 었습니다. 이 매니페스트 파일은 참이었고, 이것은 내용입니다이었다

Manifest-Version: 1.0 Created-By: Fat Jar/One-JAR Eclipse Plug-In 
Main-Class: com.simontuffs.onejar.Boot 

나는 내가 JAR의 벌금을 실행할 수이기 때문에이 올바른지 있으리라 믿고있어,이 또한 FatJar에 의해 만들어졌습니다.

다음에 무엇을해야할지 잘 모르겠으며, -Done-jar.jar.path가 무엇인지 잘 모르겠습니다. 누구나 문제의 원인을 알 수 있습니까?

답변

0

ikvmc 컴파일러가 작성중인 단일 실행 JAR 파일에 임베드 된 JAR 파일을보고 있지 않다는 것이 문제라고 생각합니다.

단일 실행 가능 JAR 파일 작성 및 단일 Windows exe 작성을 별도의 프로세스로 취급하는 것이 좋습니다. Fat Jar 플러그인은 문제없이 실행 가능한 JAR 파일을 생성합니다.

Windows exe를 만들려면 코드 및 모든 JAR 종속성에 ikvmc를 호출하는 배치 파일이나 개미 스크립트가 필요할 것입니다. 난 당신이 ikvmc 명령 줄에서 변환하는 JAR 파일의 목록을 제공 할 수 있다고 생각하고 출력으로 단일 exe를 생산 말해. 이것은 아마도 당신이 원하는 것을 줄 것입니다!