2017-08-30 4 views
2

Webアプリケーション以外のアプリケーション用のSpring-Bootアプリケーションを作成していますが、使用する必要があるプラグインまたはプロシージャを知りたいと思います。マイクロサービスの開発のためにSpring以外のアプリケーション用の実行可能なJarを作成する方法

build.gradleに追加するためのプラグインです:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.6.RELEASE") 
    } 
} 

apply plugin: 'org.springframework.boot' 

しかし、あなたが生成されたJARを実行すると、jarファイルは、Tomcatを起動して、この種のソフトウェアは必要ありません。

`ます。java -jar consoleApp-0.7.0-SNAPSHOT.jarにデモ= demo``

2017-08-30 14:48:13.505 INFO 82718 --- [   main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 
2017-08-30 14:48:13.510 INFO 82718 --- [   main] spring.ParamLoader      : Loading data... 
2017-08-30 14:48:13.510 INFO 82718 --- [   main] spring.ParamLoader      : item: 
2017-08-30 14:48:13.523 INFO 82718 --- [   main] spring.ConsoleApp      : Started ConsoleApp in 4.648 seconds (JVM running for 5.257) 
^C2017-08-30 14:48:18.502 INFO 82718 --- [  Thread-3] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot[email protected]6477463f: startup date [Wed Aug 30 14:48:09 CEST 2017]; root of context hierarchy 

任意の代替?

事前に感謝します。

Juan Antonio

+0

他に何も必要ありません。依存関係によって起動されるものは異なります。 Tomcat(または他のサポートされているサーブレットコンテナの1つ)を含めないと、非Webアプリケーションとして起動します。 –

答えて

5

あなたが持っているものは良いスタートです。

次の依存関係を追加して、すべてのSpringの基本を取得します。

dependencies { 
    compile('org.springframework.boot:spring-boot-starter') 
    testCompile 'org.springframework.boot:spring-boot-starter-test' 
} 

次に、あなたのメインクラスはorg.springframework.boot.CommandLineRunnerを実装することができ、アプリはrun方法でその作業を開始することができます。

@SpringBootApplication 
public class MyApplication implements CommandLineRunner { 
    @Override 
    public void run(String[] args) { 
    // do your work here 
    } 

    public static void main(String[] args) { 
    SpringApplication.run(MyApplication.class, args); 
    } 
} 

PS。最初にTomcatを起動している場合は、NOTspring-boot-starter-webが含まれていることを確認してください。

+1

こんにちは@Strelok、問題はあなたが言ったように、依存関係だった。以前は:compile( "org.springframework.boot:spring-boot-starter:1.5.6.RELEASE")をコンパイルすると、接尾辞:webを削除しました。このアプリは予期した動作をしていました。どうもありがとう。 – jabrena

関連する問題