2017-05-01 12 views
3

私は春と春の新機能を試しています。コードサンプルをhttps://projects.spring.io/spring-boot/から実行する際に問題が発生しています。Spring起動方法クイックスタートコード

package hello; 

import org.springframework.boot.*; 
import org.springframework.boot.autoconfigure.*; 
import org.springframework.stereotype.*; 
import org.springframework.web.bind.annotation.*; 

@Controller 
@EnableAutoConfiguration 
public class SampleController { 

    @RequestMapping("/") 
    @ResponseBody 
    String home() { 
     return "Hello World!"; 
    } 

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

私はmvn installを発行し、すべてがうまくように見えます。しかし、java -cp target/myArtifId-1.0-SNAPSHOT.jar hello.SampleControllerを発行し、ClassNotFoundExceptionがスローされました。

このコードサンプルはどのように実行しますか?

+0

あなたは、春ブートする初心者であれば、キックスタートするには、このアプローチを参照してください。 http://stackoverflow.com/questions/39245732/java-lang-noclassdeffounderror-org-springframework-core-env-configurableenviron/39246493#39246493 –

+0

@SpringBootApplicationアノテーションがありません –

答えて

2

spring boot documentationあたりとして、あなたは、このコマンドを使用してアプリケーションを実行することができます:

java -jar target/myArtifId-1.0-SNAPSHOT.jar 

春ブーツは、実行可能なjarファイル、main方法でJavaクラスを指定する必要はありませんが生成されます。これはまた、ではなくmainメソッドを含む別のクラスを含めることができる理由です。

+1

OPの利点について:これは実際にはjarに関するものですMANIFEST.MFを見れば、 'Main-Class'が何であるか見ることができます。この場合、それは 'org.springframework.boot.loader.JarLauncher'です。したがって、上記のコマンドは次のようになります: 'java -cp target/myArtifId-1.0-SNAPSHOT.jar org.springframework.boot.loader.JarLauncher' – flow2k

+0

そして、Tomcatサーバが起動した後に、1)' curl localhost:8080 '、または2)ブラウザで' localhost:8080'を指定します。また、ネットワーク経由で接続している場合は、もちろんxx.xx.xx.xx:8080にブラウザを向けることができます。 「Hello World!」が表示されます。 – flow2k

1

は、私は、単一のコマンドでそれをコンパイルして実行するために春ブーツのMavenプラグインのrun目標を使用することを好む:

mvn spring-boot:run 
関連する問題