다른

Mac Java .jar 파일을 수정하는 방법은 무엇입니까?

NS

더들리브룩스

오리지널 포스터
2011년 4월 4일
샌프란시스코
  • 2011년 4월 14일
응용 프로그램(Thunderbird.app)에서 간단한 수정 작업을 수행해야 합니다. .jar 파일에서 한 줄만 변경하는 것입니다. 이전 Windows 컴퓨터에서 어떤 소프트웨어를 사용해야 하는지 알고 있었습니다. Snow Leopard에서 앱에서 .jar 파일을 열고 수정하고 저장하는 가장 쉬운 방법은 무엇입니까? OS에 내장된 것을 사용하는 것이 좋습니다. 그렇지 않다면 프리웨어를 사용하시겠습니까?

지미나우스

2010년 12월 16일


시드니
  • 2011년 4월 15일
.jar 파일은 확장자가 다른 .zip 파일(일부 표준/사전 정의된 레이아웃)입니다. /usr/bin에 있는 표준 zip 및 압축 해제 프로그램을 사용하여 서명되지 않은 .jar 파일을 변경할 수 있습니다.

'.jar 파일의 한 줄 변경'은 .jar 파일의 컨텍스트에서 직접적으로 의미가 없습니다. 해당 .jar 파일로 무엇을 하고 싶은지 정확히 알려주시면 사용 가능한 Mac OS X 도구/프로그램과 방법을 알려드릴 수 있습니다. 미디엄

머플론

2006년 9월 15일
  • 2011년 4월 15일
무선으로 게시됨(Mozilla/5.0(iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; sv-se) AppleWebKit/533.17.9(KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5)

추출, 수정 및 다시 조립하는 세 단계가 있습니다.

추출은 쉽습니다. 마우스 오른쪽 버튼을 클릭하고 보관 취소(afaik)를 클릭합니다.

수정: 매니페스트(실행할 클래스 등)인 경우 쉽지만 Java 파일은 .class 파일로 컴파일되며 수정하기 전에 디스어셈블해야 합니다.

모든 것을 하나로 묶으려면 터미널에 대한 'jar' 명령을 Google에 입력하십시오.

FOSS라면 소스에서 컴파일하는 것이 더 좋고 더 쉽습니다. 그렇지 않다면 100% 합법이라고 생각하지 않습니다. NS

더들리브룩스

오리지널 포스터
2011년 4월 4일
샌프란시스코
  • 2011년 4월 15일
.jar 파일에 포함된 .js 파일의 줄을 변경해야 합니다. 그러나 귀하의 답변은 내 질문을 명확히합니다.

Windows에서 이 변경을 여러 번 수행했습니다(즉, 업그레이드를 다운로드할 때마다, 물론 이전 변경 사항이 지워짐). 변경을 제안한 사람은 또한 IZArc라는 (un)archiver를 추천했는데, 여기에서 전체 프로세스는 IZArc 내부에서 수행할 수 있습니다. .jar 파일을 열고(보관 취소), .js 파일을 찾고, 줄을 편집합니다... 그런 다음 종료를 클릭하면 모든 것이 보관된 상태로 돌아갑니다.

어떤 unarchiver로도 .jar의 아카이브를 취소할 수 있고 모든 텍스트 편집기로 .js를 편집할 수 있다는 것을 이해합니다. 내 걱정은 프로그래머가 아니라 다시 보관할 때 해로운 일을 할 수 있다는 것입니다. 모든 관련 파일을 보관하거나 너무 많은 파일을 보관하지 않는 등의 일입니다.

그래서 내 질문은 : 최종 .jar에 포함해야 할 파일이 정확히 포함되어 있다는 것을 알 수 있도록 자체 내에서 위의 모든 작업을 수행할 아카이버(OS에 있기를 바랍니다)가 있습니까? 또는 그렇지 않은 경우 올바르게 다시 아카이브했는지 확인하려면 어떻게 해야 합니까? 나는 이 포럼에서 이것이 완전한 초보자 질문이라는 것을 알고 있습니다.

노저스트제이

2003년 9월 19일
캐나다, 응?
  • 2011년 4월 15일
음, .jar 파일이 확장자가 다른 ZIP 파일인 경우 'zip' 및 'unzip' 명령을 사용하여 터미널에서 자유롭게 압축 및 압축을 풀 수 있습니다.

촌33

중재자
직원
2009년 8월 9일
심연의 차원
  • 2011년 4월 15일
notjustjay는 다음과 같이 말했습니다: 음, .jar 파일이 단순히 확장자가 다른 ZIP 파일인 경우 'zip' 및 'unzip' 명령을 사용하여 터미널에서 자유롭게 압축 및 압축을 풀 수 있습니다.

또는 이 목적을 위해 명시적으로 작성되고 매니페스트에 대한 올바른 순서를 유지하는 'jar' 명령을 사용하십시오(일반적으로 첫 번째 항목 또는 최대 처음 몇 개 항목 중 하나로 있어야 함).

jar 명령이 기본적으로 설치되어 있다고 확신합니다. 이것은 10.7 Lion에서도 계속 적용됩니다.
반응:아브론스딜란

노저스트제이

2003년 9월 19일
캐나다, 응?
  • 2011년 4월 15일
chown33은 다음과 같이 말했습니다: 또는 이 목적을 위해 명시적으로 작성된 'jar' 명령을 사용하고 매니페스트의 올바른 순서를 유지합니다(일반적으로 첫 번째 항목 또는 많아야 처음 몇 개 중 하나에 있어야 함).

jar 명령이 기본적으로 설치되어 있다고 확신합니다. 이것은 10.7 Lion에서도 계속 적용됩니다.

아, 더 좋습니다. 고마워, 그것에 대해 몰랐다.

조종사 오류

2006년 4월 12일
롱 아일랜드
  • 2011년 4월 15일
또는 jar 명령을 사용할 수 있습니다. 매개변수는 명령줄 zip 유틸리티와 같습니다.

$jar -xvf jarfile.jar ** 파일 추출

** 파일 편집 **

$jar -cvf jarfile.jar ** 새 Jar 파일 생성
반응:아브론스딜란 NS

더들리브룩스

오리지널 포스터
2011년 4월 4일
샌프란시스코
  • 2011년 4월 15일
감사 해요. PilotError의 방법은 간단하고 성공적이었습니다. 소프트웨어 오류, 초보자 오류 또는 파일럿 오류가 없었습니다. 그러나 Windows에서 필요로 했던 것보다 여전히 더 많은 단계가 있었습니다. 아카이브를 취소한 후 터미널에서 편집기를 사용하기 위해 데스크탑으로 전환합니다(물론 터미널이 액세스할 수 있다고 가정하는 유닉스 편집기를 모르는 제 잘못입니다) , 그런 다음 다시 보관하려면 터미널로 돌아가서 유닉스 명령에 더 많은 키 입력이 필요합니다. 나는 여전히 Windows에서 IZArc가 했던 것처럼 하나의 프로그램 내에서 *모든* 작업을 수행하는 편집기를 찾고 싶습니다. ctrl-open, edit, ctrl-close -- zip-zip(말장난)!

촌33

중재자
직원
2009년 8월 9일
심연의 차원
  • 2011년 4월 15일
dudleybrooks가 말했습니다: 감사합니다. PilotError의 방법은 간단하고 성공적이었습니다. 소프트웨어 오류, 초보자 오류 또는 파일럿 오류가 없었습니다. 그러나 Windows에서 필요로 했던 것보다 여전히 더 많은 단계가 있었습니다. 아카이브를 취소한 후 터미널에서 편집기를 사용하기 위해 데스크탑으로 전환합니다(물론 터미널이 액세스할 수 있다고 가정하는 유닉스 편집기를 모르는 제 잘못입니다) , 그런 다음 다시 보관하려면 터미널로 돌아가서 유닉스 명령에 더 많은 키 입력이 필요합니다. 나는 여전히 Windows에서 IZArc가 했던 것처럼 하나의 프로그램 내에서 *모든* 작업을 수행하는 편집기를 찾고 싶습니다. ctrl-open, edit, ctrl-close -- zip-zip(말장난)!

나는 모든 것을 수행하는 도구를 모릅니다. 솔직히 말해서, 누군가가 Mac OS에서 jar 파일을 편집하는 방법을 묻는 것을 본 것은 이번이 처음이므로 큰 목표 시장이 없다고 생각합니다.

명령줄을 터미널에 붙여넣을 수 있으므로 명령을 텍스트 파일에 저장한 다음 복사하여 붙여넣기만 하면 됩니다. 입력할 필요가 없습니다.

텍스트 파일에 저장할 내용은 대략 다음과 같습니다.
코드: |_+_| 분명히 jarfile.jar를 가지고 있는 실제 jar 파일로 변경해야 합니다.

bash의 실제 주석 문자이기 때문에 ##을 표시했습니다.

또한 대체해야 하는 경로 이름과 함께 'open -e' 명령을 표시했습니다. open -e는 TextEdit.app에서 명명된 파일을 엽니다. 대신 선호하는 다른 편집기가 있는 경우 '열기'에 대신 사용하도록 지시할 수 있습니다. 다음은 '열기' 명령에 대한 매뉴얼 페이지입니다.
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
특히 -a 및 -b 옵션을 살펴보십시오.

마지막으로 'cd someDir' 또는 원하는 다른 명령과 같은 다른 명령을 넣을 수 있습니다.

대체를 수행하기 위해 'sed' 스크립트를 작성할 수 있으므로 수동으로 파일을 전혀 편집할 필요가 없습니다. 그런 다음 전체를 셸 스크립트로 만들고 AppleScript로 래핑한 다음 물방울로 저장할 수 있습니다. 그런 다음 나중에 원래 앱을 AppleScript 드롭릿에 놓기만 하면 모든 변경 사항이 자동으로 수행됩니다. 하지만 그 모든 것을 작성하고 디버그해야 하며 앱이 업데이트될 때 복사/붙여넣기를 수행하는 것보다 시간이 더 걸릴 것입니다.

jar에 대한 변경 사항이 공급업체에서 제공해야 하는 것이라면 앱에 대한 버그 보고서를 제출해야 합니다. 가장 깨끗한 수정은 스스로 고칠 필요가 없는 것이기 때문입니다.

조종사 오류

2006년 4월 12일
롱 아일랜드
  • 2011년 4월 15일
Windows에서는 창에 내용을 표시하는 pkzip 또는 winzip과 같은 프로그램을 사용할 수 있으며 파일을 두 번 클릭하면 후드 아래에서 추출되어 관련 프로그램(편집기)으로 보낼 수 있습니다.

OS X 아래에 zip 유틸리티가 있지만 분명히 저는 Windows를 사용하는 것처럼 OS X를 사용하지 않습니다. 나는 당신이 같은 일을 할 수 있게 해주는 프로그램 중 하나를 추적할 수 있다고 확신하지만 여기에 필요한 것은 검색할 가치가 없었습니다. NS

더들리브룩스

오리지널 포스터
2011년 4월 4일
샌프란시스코
  • 2011년 4월 16일
PilotError 및 Cown33: OS X의 시장 부족에 대한 당신의 생각이 옳다고 확신합니다.

Cown33: 자동화 및 관련된 세부 정보에 대한 조언에 감사드립니다. 나는 그들을 시도 할 것입니다. 세상에, 프로그래머가 될지도 몰라!

*내 생각에* 수정되어야 한다고 생각하지만 버그는 아닙니다. Thunderbird에는 이메일 주소에 대한 고급 검색 기능이 있어 여러 주소를 반환할 수 있습니다. 쓰기를 클릭하면 모두 '받는 사람' 필드에 넣습니다(다른 옵션 없음). 변경으로 인해 더 나은 네티켓을 위해 'BCC' 필드에 넣습니다. TB 1.x에는 이 옵션이 있었지만 2.x에서는 없어졌습니다. NS

peregin55

2008년 2월 25일
  • 2011년 5월 8일
Emacs는 당신이 원하는 것을 할 것입니다

Linux 및 Mac OS X에서는 emacs를 사용하여 jar 내의 파일을 편집합니다. 다음을 입력하세요.

이맥스 somejar.jar

그런 다음 표준 emacs 명령을 사용하여 jar에 있는 모든 파일을 탐색하고, 열고, 저장할 수 있습니다. 변경 사항은 자동으로 jar에 적용됩니다(아무것도 수동으로 압축 해제할 필요 없음)
반응:아브론스딜란 NS

더들리브룩스

오리지널 포스터
2011년 4월 4일
샌프란시스코
  • 2011년 5월 8일
감사 해요!

peregin55

알아두시면 좋습니다.

-
더들리 NS

큰 재해

2010년 1월 14일
  • 2012년 6월 8일
아아. 작동하지 않습니다. .class 파일에서 몇 개의 문자열을 바꿔야 합니다(저는 정확히 같은 수의 기호를 사용합니다). 그런 다음 jar 명령으로 다시 압축하려고 하지만 결과 파일은 초기 파일보다 몇 바이트 작습니다. 내 모바일에 설치하려고 하면 '잘못된 jar 형식'이라고 표시됩니다.
어떤 아이디어?

탑햇프로덕션115

2016년 8월 22일
  • 2016년 11월 10일
파일럿 오류는 다음과 같이 말했습니다: 또는 jar 명령을 사용할 수 있습니다. 매개변수는 명령줄 zip 유틸리티와 같습니다.

$jar -xvf jarfile.jar ** 파일 추출

** 파일 편집 **

$jar -cvf jarfile.jar ** 새 Jar 파일 생성


서명된 Java 아카이브에서 작동합니까?

마이클 워른

2016년 11월 11일
  • 2016년 11월 11일
vim 편집기를 사용하여 압축된 텍스트 파일의 파일을 편집할 수 있습니다.
  1. 터미널에서 파일 위치로 이동합니다.
  2. vim name.jar 입력
  3. 변경하려는 파일을 선택하고 Enter 키를 누릅니다.
  4. 파일을 편집하고 Esc 및 :wq를 누르십시오! 저장하고 종료합니다.
도움이 되었기를 바랍니다.

오키이암

2016년 12월 17일
  • 2016년 12월 18일
예, 저도 Windows에서 jar 파일의 클래스 경로를 편집하기 위해 7zip을 사용했습니다. 제이

짜라

2009년 4월 23일
  • 2016년 12월 21일
Thunderbird.app을 수정해야 하는 경우 소스를 사용하여 변경하고 빌드합니다.

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions

클로버

2018년 11월 13일
  • 2018년 11월 13일
michaelwarne은 다음과 같이 말했습니다: vim 편집기를 사용하여 압축된 텍스트 파일의 파일을 편집할 수 있습니다.
  1. 터미널에서 파일 위치로 이동합니다.
  2. vim name.jar 입력
  3. 변경하려는 파일을 선택하고 Enter 키를 누릅니다.
  4. 파일을 편집하고 Esc 및 :wq를 누르십시오! 저장하고 종료합니다.
도움이 되었기를 바랍니다.
bash를 사용하여 이것을 자동화할 수 없습니까? 그것을 통해 깨우쳐 주시면 많은 도움이 될 것입니다.
반응:아브론스딜란