Spring Boot应用程序未启动嵌入式Tomcat [英] Spring boot application not starting embedded tomcat
问题描述
是Spring Boot应用程序的新手.我有一个任务来创建应该由rest控制器处理的通用crud存储库.我只是从一些例子开始.但是我的应用程序没有启动嵌入式tomcat.另外我的休息控制器URI没有映射.这是Maven模块项目,所有依赖项都在父Maven中配置.如何解决这个问题.
Am newbie to Spring boot application. I have a task to create common crud repository which should be processed by rest controller. I just started with some example. But my application is not started the embedded tomcat. Also my rest controller URI are not mapping. This is maven module project and all the dependency are configured in parent maven. How to resolve this.
这是我的代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class CRUDEngineApplication {
public static void main(String[] args) {
SpringApplication.run(CRUDEngineApplication.class, args);
}
}
控制器是
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import com.scm.services.CRUDEngineService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RestController("/api")
public class CRUDEngineController {
@Autowired
private CRUDEngineService crudEngineService;
public static final Logger logger =
LoggerFactory.getLogger(CRUDEngineController.class);
/* public void setProductService(CRUDEngineService crudEngineService) {
this.crudEngineService = crudEngineService;
}*/
@RequestMapping(value = "/user", method = RequestMethod.POST)
public ResponseEntity<?> createUser(@RequestBody Object entity) {
System.out.println("Check point entered.");
crudEngineService.save(entity);
return new ResponseEntity<String>( HttpStatus.CREATED);
}
}
服务界面是
import java.util.UUID;
public interface CRUDEngineService {
void save(Object entity);
void delete(UUID id);
}
服务实现类为
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.scm.repositories.CRUDEngineRespository;
import java.util.UUID;
@Service
public class CRUDEngineServiceImpl implements CRUDEngineService {
@Autowired
private CRUDEngineRespository productRepository;
@Override
public void save(Object entity) {
productRepository.save(entity);
}
@Override
public void delete(UUID id) {
productRepository.delete(id);
}
}
crud存储库的实现是
And the crud repository implementation is
import java.util.UUID;
import org.springframework.data.repository.CrudRepository;
public interface CRUDEngineRespository extends CrudRepository<Object, UUID>
{
}
子pom.xml是
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.scm</groupId>
<artifactId>scm-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>crudEngineService</artifactId>
<packaging>war</packaging>
<name>crudEngineService</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
父pom是
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.scm</groupId>
<artifactId>scm-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>scm-parent</name>
<description>scm project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.7.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-cassandra</artifactId>
</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-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<modules>
<module>userService</module>
<module>authenticationService</module>
<module>dataLayerService</module>
<module>uiService</module>
<module>crudEngineService</module>
</modules>
控制台结果是
2017-10-07 13:03:32.348 INFO 6508 --- [ main]
c.s.configuration.CRUDEngineApplication : Starting CRUDEngineApplication on
STS-STP-A808 with PID 6508 (started by muthuvignesh.k in E:\Septa_Bench\STS
Septa Repo\ppts_scm\scm-parent\crudEngineService)
2017-10-07 13:03:32.350 INFO 6508 --- [ main]
c.s.configuration.CRUDEngineApplication : No active profile set, falling
back to default profiles: default
2017-10-07 13:03:32.378 INFO 6508 --- [ main]
s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4df828
d7: startup date [Sat Oct 07 13:03:32 IST 2017]; root of context hierarchy
2017-10-07 13:03:32.766 WARN 6508 --- [ main]
o.h.v.m.ParameterMessageInterpolator : HV000184:
ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
2017-10-07 13:03:32.872 WARN 6508 --- [ main] o.h.v.m.ParameterMessageInterpolator : HV000184: ParameterMessageInterpolator has been chosen, EL interpolation will not be supported
2017-10-07 13:03:33.052 INFO 6508 --- [ main] com.datastax.driver.core.Native : Could not load JNR C Library, native system calls through this library will not be available (set this logger level to DEBUG to see the full stack trace).
2017-10-07 13:03:33.052 INFO 6508 --- [ main] com.datastax.driver.core.ClockFactory : Using java.lang.System clock to generate timestamps.
2017-10-07 13:03:33.197 INFO 6508 --- [ main] com.datastax.driver.core.NettyUtil : Did not find Netty's native epoll transport in the classpath, defaulting to NIO.
2017-10-07 13:03:33.541 INFO 6508 --- [ main] c.d.d.c.p.DCAwareRoundRobinPolicy : Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy (if this is incorrect, please provide the correct datacenter name with DCAwareRoundRobinPolicy constructor)
2017-10-07 13:03:33.543 INFO 6508 --- [ main] com.datastax.driver.core.Cluster : New Cassandra host /10.10.30.125:9042 added
2017-10-07 13:03:33.795 INFO 6508 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-10-07 13:03:33.804 INFO 6508 --- [ main] c.s.configuration.CRUDEngineApplication : Started CRUDEngineApplication in 1.619 seconds (JVM running for 2.002)
推荐答案
从pom.xml中删除<scope>provided</scope>
,然后尝试重新运行.如果您希望将战争部署到任何其他独立的Tomcat,请使用已提供的.
Remove <scope>provided</scope>
from pom.xml and try re-running. Use provided if you wish to deploy the war to any other standalone tomcat.
这篇关于Spring Boot应用程序未启动嵌入式Tomcat的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!