こんにちは、私はJavaプログラムを持っています。プログラムを実行するスクリプトがあります。スクリプトは次のようになります
sh compress.sh -f myfile.txt [-o myfile.hzip -s]
このスクリプトから実行できるように、Java プログラムから実行可能ファイルを作成するにはどうすればよいですか?
MyApp.java:
public class MyApp {
public static void main(String []args) {
//Do something with args...
}
}
圧縮.sh:
#!/bin/sh
#Specify your Java class here (must contain a main method)
JAVA_CMD="java MyApp"
#JAR variant (a more common approach)
#JAVA_CMD="java -jar myjar.jar"
#Map script arguments to java app arguments. Use flag specific variables, if it's more convinient for you.
while getopts "f:o:s" opt; do
case $opt in
f)
JAVA_CMD="$JAVA_CMD -f $OPTARG"
;;
o)
JAVA_CMD="$JAVA_CMD -o $OPTARG"
;;
s)
JAVA_CMD="$JAVA_CMD -s"
;;
*)
echo "Invalid usage..." >&2
exit 1;
;;
esac
done
#Additional validation (required options etc.)
#...
echo "Launching Java: $JAVA_CMD"
$JAVA_CMD
クラスをコンパイルしてから、スクリプトを実行します。外部ライブラリを使用している場合は、JAVA_CMD に追加のクラスパス引数を含める必要がある場合があります。
JAR を使用する場合は、MANIFEST.mf に必要なすべての情報 (特に有効なMain-Classエントリ) が含まれていることを確認してください。詳細な手順については、こちらを参照してください。
これが Maven プロジェクトの場合、 Maven Assembly Pluginを使用して、実行可能な JAR を簡単な 1 ステップで作成できます 。mvn assembly:assembly を実行するだけです。