2016-04-04 2 views
0

を実行することができますことは、私が達成しようとしているものです:どのように私はここにキュウリ/グルーヴィーなテストや依存関係で構成uberJar

EndToEndFunctionalTestsテストのuberJarを構築取得:

0123:

EndToEndFunctionalTests-develop.local.SNAPSHOT.jar

ので、私は何をしようとしていることとして、これを実行することです

$ java -jar EndToEndFunctionalTests-develop.local.SNAPSHOT.jar 
no main manifest attribute, in EndToEndFunctionalTests-develop.local.SNAPSHOT.jar 

main()を偽ってMANIFESTに組み込む方法があるので、このjarが実行されます。

私はキュウリのランナーを使用してのGradleを介してコマンドラインからキュウリのテストを実行することができたが、ので、私は何をしたいことはjarファイルを実行できるようにすることです:私はどこでも、このjarファイルを実行することができるだろう

  1. それはすべての依存関係を持っているからです。
  2. これらのテストの実行時間は、ステージングとqaで短くなります。これは、一度だけ実行し、連続的な統合パイプラインのさまざまな環境で実行する必要があります。
+0

このクラスからキュウリのランナーを呼び出すことができるかどうかを把握する必要があります。 「偽のメイン」とはどういう意味ですか? java -jarを実行するときにどのクラスを実行する必要がありますか? – RaGe

+0

@RaGeこれはキュウリ/グルーヴィーテストなので、main()メソッドはありません。あなたはEndToEndFunctionalTests-develop.local.SNAPSHOT.jarをあるxv jarファイルもしそうなら、あなたはあなたの瓶にグルーヴィーなテスト、およびパッケージを起動するためのGroovyスクリプトを使用することができます – kamal

+0

すべての依存関係と一緒にすべての.classファイルを取得しますので、あなたが起動することができます実行可能ファイルとしてのスクリプトここを参照してください:http://mrhaki.blogspot.com/2013/09/groovy-goodness-running-scripts-from.html – RaGe

答えて

0
src/main/groovy/Test.groovy 

class Test{ 
     public static void main(String[] args){ 
       println 'dummy main' 
} 

結果:

java -jar Serenity-develop.local.SNAPSHOT.jar 
dummy main 

そのは実行可能であるが、今私は、メインがある場合、あなたがマニフェストにそれを含めることができ

関連する問題