Mavenとコマンドラインプログラムをインストールします

rwallace:

ビルドシステムとしてMavenを使用して、Javaでコマンドラインプログラムを書かれた、コマンドとして利用できるプログラムを持つことにそこから行くにはお勧めの方法は何ですか?

プログラムはフーと呼ばれていると仮定します。ではfooディレクトリ私は実行することができますmvn package生成するために、target/foo-1.0-SNAPSHOT.jar順番にその缶を使用して実行され、java -cp target/foo-1.0-SNAPSHOT.jar foo.Main %*それコマンドは、ユーザーが入力することを期待しては長すぎます。私はタイピングポイントを取得する必要がありfoo、コマンドライン上のプログラムを実行します。mvn installしません。それだけでコピーローカルのMavenリポジトリへの瓶。

コマンドとして利用できるプログラムを作るために推奨される方法は何ですか?

rwallace:

私は単純なPythonスクリプトを書くことになった:https://github.com/russellw/ayane/blob/master/build.py

#!/usr/bin/python3
import subprocess
import os   

subprocess.check_call("mvn package", shell=True)
if os.name == "nt":
    with open("ayane.bat", "w") as f:
        f.write("java -ea -jar %s\\target\\ayane-3.0-SNAPSHOT.jar %%*\n" % os.getcwd())
else:
    with open("ayane", "w") as f:
        f.write("#!/bin/sh\n")
        f.write('java -ea -jar %s/target/ayane-3.0-SNAPSHOT.jar "$@"\n' % os.getcwd())
    st = os.stat("ayane")
    os.chmod("ayane", st.st_mode | 0o111)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=206694&siteId=1
おすすめ