我在使用spring-boot应用程序时遇到了麻烦。它目前只暴露一个端点。而且它只有一个控制器来管理它。这是下面的代码。
它构建正常并且tomcat服务器运行,我得到 Whitelabel错误页面。
Chrome控制台出现完整错误:无法加载资源:服务器响应状态为404.
src
--|main
----|java
------|com.domain.myproject.api
--------|Controller <----(this is a package in intellij)
----------|RestController.java
--------|Springboot <----(this is a package in intellij)
----------|SpringApplication.java
RESTController.java
package com.example.myproject.api.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RESTController {
@GetMapping("/view/{id}")
public String hello (@PathVariable("id") String id){
return "return" + id;
}
}
SpringApplication.java
package com.example.myproject.api.Springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class CustomsApiApplication {
public static void main(String[] args) {
SpringApplication.run(CustomsApiApplication.class, args);
}
}
POM-XML
这些依赖项,我将使用它。
<dependencies>
<!--SpringBoot Dependencies-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Camel dependencies -->
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.20.1</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jms</artifactId>
<version>2.20.1</version>
</dependency>
<!-- ActiveMQ dependencies -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-camel</artifactId>
</dependency>
</dependencies>
谢谢!
PS。也可以进入intellij运行控制台。 。
2018-01-23 18:28:14.879 ERROR 10541 --- [nio-8080-exec-1]
o.s.d.r.w.RepositoryRestExceptionHandler : Could not resolve repository
metadata for 1234.
答案 0 :(得分:7)
根据Spring启动文档14.2 Locating the main application class,建议您将主应用程序类放在其他类之上的根包中。
@EnableAutoConfiguration
注释通常放在您的主类上,它隐含地为某些项定义了一个基础“搜索包”。使用根包还允许使用@ComponentScan
注释,而无需指定basePackage属性。这两个注释都在@SpringBootApplication
中定义。
答案 1 :(得分:1)
似乎您的问题与软件包的结构有关,我建议您将CustomsApiApplication类从当前软件包删除到应为com.example.myproject的基本软件包
这个link确实帮了我