2016-06-24 6 views
1

私は単純なspringbootアプリケーションを構築しようとしています。 これは私のクラスのコントローラ "HelloController.java" である:これは、返されたスタックトレースです私の最初のSpringbootアプリケーションが起動しません

package controller; 

import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RestController; 

@RestController 

public class HelloController { 

    @RequestMapping("/") 
    public String index() 
    { 
     return "Welcome to Spring Boot"; 
    } 

} 

メインクラス "Application.java"

package hello; 

import org.joda.time.LocalTime; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.context.ApplicationContext; 

@SpringBootApplication 
public class Application { 
    public static void main(String[] args) { 
     Greeter greeter = new Greeter(); 
     LocalTime currentTime = new LocalTime(); 
     System.out.println(greeter.sayHello());    
     System.out.println("The current local time is: " + currentTime); 
     SpringApplication.run(Application.class, args); 

    } 
} 

とのpom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>org.springframework</groupId> 
    <artifactId>gs-maven</artifactId> 
    <!--packaging>jar</packaging--> 
    <version>0.1.0</version> 

    <properties> 
     <java.version>1.8</java.version> 
    </properties> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.5.RELEASE</version> 
    </parent> 

    <dependencies> 
     <dependency> 
      <groupId>joda-time</groupId> 
      <artifactId>joda-time</artifactId> 
      <version>2.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-shade-plugin</artifactId> 
       <version>2.2</version> 
        <executions> 
         <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>shade</goal> 
         </goals> 
          <configuration> 
           <transformers> 
            <transformer 
             implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
             <mainClass>hello.Application</mainClass> 
            </transformer> 
           </transformers> 
          </configuration> 
         </execution> 
        </executions> 

      </plugin> 

      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 


</project> 

IntelliJを使用するアプリケーションから:

2016-06-24 17:12:27.754 INFO 4072 --- [   main] hello.Application      : Starting Application on WIN-PNSVSNOEM58 with PID 4072 (C:\Users\NICOLA\git\javaprojects\spring-base\target\classes started by NICOLA in C:\Users\NICOLA\git\javaprojects\spring-base) 
2016-06-24 17:12:27.777 INFO 4072 --- [   main] hello.Application      : No active profile set, falling back to default profiles: default 
2016-06-24 17:12:28.330 INFO 4072 --- [   main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot[email protected]7ce026d3: startup date [Fri Jun 24 17:12:28 CEST 2016]; root of context hierarchy 
2016-06-24 17:12:39.844 INFO 4072 --- [   main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http) 
2016-06-24 17:12:39.880 INFO 4072 --- [   main] o.apache.catalina.core.StandardService : Starting service Tomcat 
2016-06-24 17:12:39.883 INFO 4072 --- [   main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.0.33 
2016-06-24 17:12:40.885 INFO 4072 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]  : Initializing Spring embedded WebApplicationContext 
2016-06-24 17:12:40.886 INFO 4072 --- [ost-startStop-1] o.s.web.context.ContextLoader   : Root WebApplicationContext: initialization completed in 12671 ms 
2016-06-24 17:12:42.090 INFO 4072 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/] 
2016-06-24 17:12:42.101 INFO 4072 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*] 
2016-06-24 17:12:42.102 INFO 4072 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*] 
2016-06-24 17:12:42.102 INFO 4072 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*] 
2016-06-24 17:12:42.103 INFO 4072 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*] 
2016-06-24 17:12:43.195 INFO 4072 --- [   main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot[email protected]7ce026d3: startup date [Fri Jun 24 17:12:28 CEST 2016]; root of context hierarchy 
2016-06-24 17:12:43.565 INFO 4072 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 
2016-06-24 17:12:43.568 INFO 4072 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 
2016-06-24 17:12:43.671 INFO 4072 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2016-06-24 17:12:43.672 INFO 4072 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2016-06-24 17:12:44.182 INFO 4072 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2016-06-24 17:12:46.558 INFO 4072 --- [   main] o.s.j.e.a.AnnotationMBeanExporter  : Registering beans for JMX exposure on startup 
2016-06-24 17:12:46.783 INFO 4072 --- [   main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 
2016-06-24 17:12:46.795 INFO 4072 --- [   main] hello.Application      : Started Application in 21.875 seconds (JVM running for 28.272) 

と私はMVN命令リターンにこのエラーを使用してアプリケーションを起動するとき:あなたは全体のMavenのシェードプラグインの一部を削除する場合

[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 21.138 s 
[INFO] Finished at: 2016-06-24T16:47:12+02:00 
[INFO] Final Memory: 17M/40M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.2:shade (default) on project gs-maven: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:2.2:shade for parameter resource: Cannot find 'resource' in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1 

答えて

1

は動作するはずです。とにかくそこに上書きされる項目を宣言していないようです。その後、Mavenビルドは正常に動作するはずです。結果として得られるアーティファクトを展開できるはずです。

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
    <manifestEntries> 
     <Main-Class>${app.main.class}</Main-Class> 
     <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK> 
     <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK> 
    </manifestEntries> 
</transformer> 

https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ManifestResourceTransformer

0

[OK]を、 は私が痘から日陰をプラグインMavenを取り除く:あなたは、特にメインクラス公式ドキュメントにプラグインで、わずかに異なる構文を使用しているよう

また、それが見えます.xmlしかし、私は問題を解決していません。 とにかく私はspring.ioのウェブサイトからの例をしようとしている:[

https://spring.io/guides/gs/maven/]

をし、pom.xmlファイルには、このプラグインを使用しています。 私はlocalhost:8080に挨拶を表示するために、この単純な例でそれを挿入する主な動機と、Mavenの目標 "陰影"が何をしているのか正確には分かりません。私は、URL

[http://localhost:8080/]

を挿入するとき、それは私に404のHTTPステータスコードを与えることについて 、。

関連する問題