2016-07-01 10 views
5

मैं अपने वसंत बूट एप्लिकेशन को H2 कंसोल का उपयोग करने के लिए कॉन्फ़िगर करने का प्रयास कर रहा हूं। मुझे कुछ लेख मिले और वे सभी वेब सर्लेट का उपयोग करते हैं। लेकिन मैं कक्षा आयात नहीं कर सकता हालांकि मेरे पास pom.xml में h2 निर्भरता शामिल है। मुझे यह त्रुटि संदेश can not resolve the symbol WebServlet मिलता है। मेरे आयात लाइनआयात नहीं कर सकता है hg.h2.server.web.WebServlet

import org.h2.server.web.WebServlet; 

नीचे मेरी pom.xml

<dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-aop</artifactId> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.myfaces.core</groupId> 
      <artifactId>myfaces-impl</artifactId> 
      <version>2.2.6</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.myfaces.core</groupId> 
      <artifactId>myfaces-api</artifactId> 
      <version>2.2.6</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.h2database</groupId> 
      <artifactId>h2</artifactId> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-actuator</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-core</artifactId> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-logging-juli</artifactId> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-jasper</artifactId> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.1.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.primefaces</groupId> 
      <artifactId>primefaces</artifactId> 
      <version>5.1</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.primefaces.extensions</groupId> 
      <artifactId>all-themes</artifactId> 
      <version>1.0.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.ocpsoft.rewrite</groupId> 
      <artifactId>rewrite-servlet</artifactId> 
      <version>2.0.12.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-security</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-devtools</artifactId> 
     </dependency> 

और मेरे application.properties

spring.datasource.url=jdbc:h2:mem:AZ;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE 
spring.datasource.driverClassName=org.h2.Driver 
spring.datasource.username=sa 
spring.datasource.password= 
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect 

और विन्यास है

@Bean 
public ServletRegistrationBean h2servletRegistration() { 
    ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet()); 
    registration.addUrlMappings("/console/*"); 
    return registration; 
} 

मुझे पता है कि मैं क्या कर रहा हूँ चलो यहाँ गायब

उत्तर

8

एच 2 compile (runtime के बजाय) निर्भरता नहीं होना चाहिए?

3

मुझे एक ही समस्या थी, शायद एक ही उदाहरण चल रहा था। सही maven pom.xml निर्भरता थी लेकिन किसी कारण से सीधे Maven से h2 ड्राइवर जार डाउनलोड करना पड़ा। फिर उपरोक्त कोड काम किया। "रनटाइम" तत्व लेना संकलित करने के लिए डिफ़ॉल्ट होगा।

<!-- https://mvnrepository.com/artifact/com.h2database/h2 --> 
    <dependency> 
     <groupId>com.h2database</groupId> 
     <artifactId>h2</artifactId> 
     <version>1.4.192</version> 
    </dependency> 
1

बस क्रम को दूर अपने h2 निर्भरता के रूप में है और सब कुछ ठीक हो जाएगा

संबंधित मुद्दे