2012-10-14 4 views
1

실행 파일이 .jar - 작동하는 파일이지만 다른 프로그램과 함께 .jar 파일에 일부 파일을 추가하고 싶습니다. 내 생각은 7zip 명령 줄 확장명을 사용하는 것이지만 .jar 파일에 뭔가를 추가하려고 할 때. 좋아,7zip 명령 줄 - 실행 가능한 jar 만들기

Error: C:\myfiles\thejar.jar is not supported archive

음 :

7za.exe a -t7z C:\myfiles\thejar.jar C:\filestoadd\* -r

매번 내가 이것을 CMD는 나에게 오류가 발생하고 말한다 수행하려고 :이 명령을 사용합니다. 그럼 내 생각은 thejar.jar 파일의 압축을 풀고 thejar.jar의 파일을 추출한 디렉토리에 파일을 추가하고 .jar.zip을 만듭니다. 이 작업을 수행했을 때 파일 thejar.jar보다 약 1MB 작고에 파일을 추가했습니다. 다른 압축 방법을 시도했지만 항상 작았습니다. .jar을 실행할 때 오류 메시지가 나타나서 Invalid or corrupt jarfile이라고 말했습니다. 나는 이미 내 문제를 봤어,하지만 지금은 대답이 없어 ... 나 좀 도와 줄 수있어?

+0

http://stackoverflow.com/questions/2223434/appending-files-to-a-zip-file-with-java를 사용하면 순수 자바에서 필요한 것을 수행하는 데 도움이 될 수 있습니다. –

답변

2

단순/권장 해결책은 모든 Java JDK에 포함 된 jar 명령을 사용하여 추가 파일을 JAR에 추가하는 것입니다.

7zip 또는 다른 "표준"zip 유틸리티를 사용하는 데 문제가 발생하면 Java 유틸리티에서 이해하지 못하는 일부 zipfile 기능을 실수로 사용할 수 있습니다.

+0

그래, 이미 생각해 봤지만 내 프로그램 사용자가 JDK를 설치해야한다는 의미입니다. 나는'jar.exe'를 복사 할 수 있습니다. 그러나 이것이 오라클의 저작권을 위반하는지는 알 수 없습니다. – DigitalClark

+0

오, 음, jar.exe가 작동하지만, 내 프로젝트에'jar.exe'와'jli.dll'을 복사 할 수 있습니까? 나는 어떤 저작권을 침해하고 싶지 않으므로 ... (이 프로젝트는 저에게 비영리입니다) – DigitalClark

+0

"실행 가능한 jar 파일"로 시작하는 것에 대해 이야기합니다. 따라서 JDK가 아니더라도 사용자가 JRE를 가질 것이라고 안전하게 가정 할 수 있습니다 . 이런 경우에는 JAR을 빌드하기 위해 Ant를 사용하는 코드를 작성하거나 ZipOutputStream ('jar' 명령이 내부적으로 사용하는 것)을 사용하여 직접 코딩 할 수도 있습니다. –

1

-t7z은 zip이 아닌 7z 아카이브를 생성합니다. 대신 -tzip이 필요합니다.

+0

고마워, 이제는 작동하지만, 그'.jar'-File ...을 실행할 수 없다. sais '잘못되었거나 손상된 jarfile' 다시 ... – DigitalClark

관련 문제