xml、java クラスなどを含む実行可能 jar ファイルを抽出しました。実際には、この実行可能 jar ファイルは依存関係を持つライブラリです。このライブラリのクラス ファイルの 1 つで、1 行のコードを変更する必要があります。クラスファイルを正常に編集したので、実行可能なjarに再パックしたいと思います。どうやってするの。
質問する
4059 次
3 に答える
6
全体を圧縮するだけです。jar は単なる zip ファイルです。
- .jar を解凍します。
- クラスを変更する
- 構造全体を .zip に再圧縮します
- 名前を.jarに変更します
- ほらね。
たとえば、 ant<jar>
タスクを使用して自動化できます。
以下のコメントで述べたようjar
に、JDK インストールに付属のツールを使用できます。
jar -xvf your.jar
と を抽出しjar -cvf your.jar inputfiles
ます。ドキュメントを参照してください。
META-INF/MANIFEST.MF
JAR を実行可能にするのは、次のようなエントリ ポイント クラスを説明するファイルがその構造に含まれていることです。
Manifest-Version: 1.0
Main-Class: foo.bar.FooBar
于 2012-10-26T06:35:27.027 に答える
2
jar コマンドを使用すると、これを行うことができます
コマンド プロンプトを使用して、すべてのクラスがあるルート フォルダーを取得します。次のコマンドを使用します
jar -cvf myjarname.jar *
* means all the files and folders in that location
于 2012-10-26T06:39:27.697 に答える
0
また、実行可能な jar のファイルの関連付けがあることを確認します。そうでない場合は、このバッチ ファイルを使用してこの関連付けを作成できます。
@ECHO off
SETLOCAL ENABLEDELAYEDEXPANSION
:: this script creates a file association for executable .jar files
ECHO Creating .jar file association...
ECHO JAVA_HOME is %JAVA_HOME%
IF NOT DEFINED JAVA_HOME GOTO :FAIL
REG ADD "HKCR\jarfile" /ve /t REG_SZ /d "Executable Jar File" /f
REG ADD "HKCR\jarfile\shell" /ve /f
REG ADD "HKCR\jarfile\shell\open" /ve /f
ECHO REG ADD "HKCR\jarfile\shell\open\command" /ve /t REG_SZ /d "\"%JAVA_HOME%\bin\javaw.exe\" -jar \"%%1\" %%*" /f
REG ADD "HKCR\jarfile\shell\open\command" /ve /t REG_SZ /d "\"%JAVA_HOME%\bin\javaw.exe\" -jar \"%%1\" %%**" /f
REG ADD "HKLM\jarfile" /ve /t REG_SZ /d "Executable Jar File" /f
REG ADD "HKLM\SOFTWARE\Classes\jarfile\shell" /ve /f
REG ADD "HKLM\SOFTWARE\Classes\jarfile\shell\open" /ve /f
REG ADD "HKLM\SOFTWARE\Classes\jarfile\shell\open\command" /ve /t REG_SZ /d "\"%JAVA_HOME%\bin\javaw.exe\" -jar \"%%1\" %%*" /f
ECHO Finished creating .jar file association for executable .jar files.
PAUSE
GOTO EOF
:FAIL
ECHO Script failed. JAVA_HOME not defined.
PAUSE
于 2012-11-25T19:26:43.850 に答える