2013-05-06 2 views
2

Launch4j는 설치가 간단하지만 exe가 생성 된 후에는 다른 위치에서 실행되지 않습니다.Launch4J exe는 여전히 jar 파일이 필요합니다.

실행 프로그램을 만드는 데 사용 된 jar 파일은 여전히 ​​exe 파일과 동일한 폴더에 있어야합니다.

나는 그것이 exe에서 항아리를 싸서 어디서나 실행할 수있을 것이라고 생각 했습니까? 이전에 JSmooth로이 작업을 수행했으며 잘 작동했습니다. 그러나 JSmooth는 Windows 7에서 더 이상 지원되지 않습니다.

또한 적절한 문서를 찾을 수 없습니다.

여기에 무슨 문제가 있습니까?

감사합니다. Shankar.

답변

0

간단한 시나리오가 저에게 효과적입니다. 입력해야 할 유일한 옵션은 출력 파일, Jar 및 Min JRE 버전입니다. 나머지는 기본값으로 남겨 둡니다.

모든 외부 라이브러리를 생성 된 JAR 옆의 폴더가 아닌 JAR에 압축하는 것이 중요합니다. 이를 달성하려면 실행 가능한 JAR을 내보낼 때 Eclipse에서 "필요한 라이브러리를 생성 된 JAR로 추출"옵션을 선택하십시오. http://launch4j.sourceforge.net/docs.html#Configuration_file은 당신이 설정하고자하는 true에 dontWrapJar입니다 , 그러나 이것은 그렇지 않은 경우 당신이 뭔가를 변경했다, 그래서 기본 값입니다

0

우리는 메인 클래스를 포함하는 JAR에 대해 이야기하는 경우, 다음이 구성 할 수 있습니다 EXE에서. 이 부울을 토글 할 때 명확하게 크기 차이를 볼 수 있습니다 (예를 들어 내 경우 JAR이없는 경우 40K이고 16K JAR의 경우 56 개가 포함됨, 총 사령관의 경우 Ctrl + PgDn을 사용하여 JAR이있는 경우 EXE를 다른 ZIP로 입력 할 수 있음) 포함됨).

com.akathist.maven.plugins.launch4j:launch4j-maven-plugin 플러그인을 사용할 때 POM 파일에서 옵션의 이름은 dontWrapJar입니다. 이 경우 jar 옵션은 빌드 된 JAR (대상)을 가리켜 야합니다. 이는 대부분의 경우 JAR의 이름 일 뿐이므로 EXE와 관련이 있고 (둘 다 대상으로 지정되기 때문) JAR은 EXE 옆에 놓여 있지만 EXE를 실행할 필요는 없으며이를 제거하기 위해 제거 할 수 있습니다.

다른 옵션이있는 다른 종속성에 대해서는 말하지 않으며 일부 uberjar 솔루션을 사용해야하는 것보다 EXE에서 모든 것이 필요한 경우