spring boot 集成 hbase 會啓動報錯java
主要由於Spring Boot內嵌了Web容器,方便對應用進行微服務化開發和部署。因此打算將HBase的業務應用做爲一個單服務進行開發和發佈,其餘相關的子系統經過RESTful API來訪問。spring
搭建項目環境時,須要注意的事項:apache
因爲Spring Boot內嵌了Web容器,因此框架默認導入了依賴:tomcat-embed-core-8.5.5.jar、tomcat-embed-el-8.5.5.jar等包。而HBase的jar中包含了:servlet-api-2.5.jar、servlet-api-2.5-6.1.14.jar。當你添加好HBase的相關依賴後,應用程序啓動報異常,啓動不啓來。在搭建項目環境時,記錄不要導入servlet-api-2.5.jar、servlet-api-2.5-6.1.14.jar這兩個jar包。api
同時可能會遇到:hbase java.io.IOException: No FileSystem for scheme: hdfs 的錯誤tomcat
要解決該錯誤在pom.xml中添加hadoo-client便可,同時也移除servlet-api,參考pom.xml框架
<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>對應版本號</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>對應版本號</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency>
原文連接:http://blog.csdn.net/veechange/article/details/52955599微服務