使用gradle依赖项启动Spring启动应用程序时出错

使用gradle依赖项启动Spring启动应用程序时出错,gradle,spring-boot,spring-data-jpa,Gradle,Spring Boot,Spring Data Jpa,得到这个错误,请帮我解决 Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfi

得到这个错误,请帮我解决

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:956)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:747)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
        at com.omneagate.rest.RestApplication.main(RestApplication.java:223)
    Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
        at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104)
        at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71)
        at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:205)
        at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
        at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:852)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:845)
        at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:844)
        at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343)
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1625)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1562)
        ... 15 more

我的application.properties文件

# datasource properties
spring.datasource.url=jdbc:mysql://localhost:3306/pds_00038_11092015
spring.datasource.username=dev
spring.datasource.password=dev123
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
security.headers.cache=false
security.sessions=stateless
server.port=9094
#security.basic.enabled=false

# rabbit mqueue configurations
spring.rabbitmq.host=localhost
spring.rabbitmq.username=debendrap
spring.rabbitmq.password=debendrap
spring.rabbitmq.virtual-host=debendrap
queue.name=deb1
queue.concurrentuser=100
queue.maxconcurrent.user=512

# rabbit mqueue configurations
smstask.queue.name=pdssmstask
smstask.queue.concurrentuser=30
smstask.queue.maxconcurrent.user=100

# application configurations
stringdigester.iteration.count=1000
stringdigester.poolsize.count=16
stringdigester.saltsize=10

threadexecutor.core.poolsize=50
threadexecutor.max.poolsize=500
threadexecutor.queue.capacity=250

#sms expiry time
sms.expirytime=180 

#except sms url please do not change other properties
#sms service url
sms.service.url=http://localhost:8880/pdsmessagingwebservice/smsrequest/sendsms

#sms service username
sms.service.username=pd$smsuser

#sms service password
sms.service.password=p@$$word!

#bill item details in txn
txn.billitem.msg=%s(%s)Rs%s;

#****** Otp related properties *******#
#otp length
otp.length=7

#sms expiry time
#In seconds. Used for transactions
otp.expirytime=180

#sms expiry time
#In seconds. Used for activation
otp.activationreq.expiry=10080  

#****** Otp related properties*******#
#Do not change the algorithm
encryption.algorithm=PBEWITHSHA-256AND256BITAES-CBC-BC

ldap.service.url=http://localhost:9060/peopleldap/authenticate

#Open LDAP configuration
ldap.url=ldap://localhost
ldap.base=dc=cscpd,dc=in
ldap.user=cn=admin,dc=cscpd,dc=in
ldap.password=cscpdpds

#******* Elcot db compare service ****#
# possible values true or false
elcotdb.compareservice.enable=false
# Only number allowed
elcotdb.fixedthreadpool.size=10

---------------------------------------------------------------------------
my RestApplication.java file

package com.omneagate.rest;

import java.util.ArrayList;
import java.util.List;

import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.jasypt.digest.PooledStringDigester;
import org.jasypt.digest.StringDigester;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.context.embedded.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
import org.springframework.core.env.Environment;
import org.springframework.ldap.core.LdapTemplate;
import org.springframework.ldap.core.support.LdapContextSource;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import com.omneagate.rest.elcotcompare.ElcotCompareTask;
import com.omneagate.rest.security.FpsFilter;
import com.omneagate.rest.service.SmsTaskListener;
import com.omneagate.utilities.LdapTreeBuilder;

@Configuration  
@EnableAutoConfiguration
@ComponentScan
@EnableTransactionManagement
@ImportResource("classpath:security.xml" )
@EnableScheduling
// This class is the entry point of the application.
public class RestApplication {
    @Value("${queue.name}")
    String queueName;

    @Value("${queue.concurrentuser}")
    int concurrentUsers;

    @Value("${queue.maxconcurrent.user}")
    int maxConcurrentUsers;

    /** String digester properties */
    @Value("${stringdigester.poolsize.count}")
    int stringDigesterPoolSize;

    @Value("${stringdigester.iteration.count}")
    int stringDigesterIterations;

    @Value("${stringdigester.saltsize}")
    int stringDigesterSaltSize;

    /** Thread executor properties */
    @Value("${threadexecutor.core.poolsize}")
    int threadExecutorCoreSize;

    @Value("${threadexecutor.max.poolsize}")
    int threadPoolMaxSize;

    @Value("${threadexecutor.queue.capacity}")
    int threadPoolQueueCapacity;

    /** SMS Task queue configuration */
    @Value("${smstask.queue.name}")
    String smsTaskqueue;

    @Value("${smstask.queue.concurrentuser}")
    int smsTaskConcurrentUsers;

    @Value("${queue.maxconcurrent.user}")
    int smsTaskMaxConcurrentUser;

    @Bean
    MessageConverter messageConverter() {
        return new Jackson2JsonMessageConverter();
    }

    @Bean
    RabbitTemplate template(ConnectionFactory connectionFactory,
            MessageConverter converter) {
        RabbitTemplate template = new RabbitTemplate(connectionFactory);
        template.setMessageConverter(converter);
        return template;
    }

    @Bean
    SimpleMessageListenerContainer container(
            ConnectionFactory connectionFactory,
            MessageListenerAdapter listenerAdapter) {
        SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(
                connectionFactory);
        container.setQueueNames(queueName);
        container.setConcurrentConsumers(concurrentUsers);
        container.setMaxConcurrentConsumers(maxConcurrentUsers);
        container.setMessageListener(listenerAdapter);
        //container.setTaskExecutor(getAsyncExecutor());
        return container;
    }

    @Bean
    SmsTaskListener smsTaskListener(){
        return new SmsTaskListener();
    }

    @Bean
    SimpleMessageListenerContainer smsTaskContainer(
            ConnectionFactory connectionFactory,MessageConverter converter) {
        SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(
                connectionFactory);
        container.setQueueNames(smsTaskqueue);
        container.setConcurrentConsumers(smsTaskConcurrentUsers);
        container.setMaxConcurrentConsumers(smsTaskMaxConcurrentUser);
        container.setMessageListener(new MessageListenerAdapter(smsTaskListener(),converter));
        //container.setTaskExecutor(getAsyncExecutor());
        return container;
    }

    @Bean
    StringDigester PasswordHash() {
        final PooledStringDigester stringDigester = new PooledStringDigester();
        stringDigester.setAlgorithm("SHA-256");
        stringDigester.setIterations(stringDigesterIterations);
        stringDigester.setSaltSizeBytes(stringDigesterSaltSize);
        stringDigester.setPoolSize(stringDigesterPoolSize);
        stringDigester.initialize();
        return stringDigester; 
    }

    @Bean
    MessageListenerAdapter listenerAdapter(
            com.omneagate.rest.service.Listener listener,
            MessageConverter converter) {
        return new MessageListenerAdapter(listener, converter);
    }

    @Bean(name="threadexecutor")
    public ThreadPoolTaskExecutor getAsyncExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
            executor.setCorePoolSize(threadExecutorCoreSize);
            executor.setMaxPoolSize(threadPoolMaxSize);
            executor.setQueueCapacity(threadPoolQueueCapacity);
            executor.initialize();
            return executor;
    }

    @Bean
    Queue queue() {
        return new Queue(queueName, true);
    }

    @Bean
    Queue smsTaskqueue() {
        return new Queue(smsTaskqueue, true);
    }

    @Bean
    public FilterRegistrationBean authorizationFilter() {
        FilterRegistrationBean filterRegBean = new FilterRegistrationBean();
        filterRegBean.setFilter(new FpsFilter());
        List<String> urlPatterns = new ArrayList<String>();
        urlPatterns.add("/*");
        filterRegBean.setUrlPatterns(urlPatterns);
        return filterRegBean;
    }

    @Autowired
    Environment env;

    @Bean
    public LdapContextSource contextSource () {
        LdapContextSource contextSource= new LdapContextSource();
        contextSource.setUrl(env.getRequiredProperty("ldap.url"));
        contextSource.setBase(env.getRequiredProperty("ldap.base"));
        contextSource.setUserDn(env.getRequiredProperty("ldap.user"));
        contextSource.setPassword(env.getRequiredProperty("ldap.password"));
        return contextSource;
    }

    @Bean
    public LdapTreeBuilder ldapTreeBuilder(){
        return new LdapTreeBuilder(ldapTemplate());
    }

    @Bean
    public LdapTemplate ldapTemplate() {
        return new LdapTemplate(contextSource());        
    }

    @Bean
    public StandardPBEStringEncryptor getEncryptor() {
        return new StandardPBEStringEncryptor();        
    }

    @Bean
    public BouncyCastleProvider getCipherProvider() {
        return new BouncyCastleProvider();        
    }

    @Bean   
    public ElcotCompareTask elcotCompareTask() {
        return new ElcotCompareTask();        
    }

    public void scheduleElcotCompare(){
        new ElcotCompareTask();
    }

    public static void main(String[] args) {
        SpringApplication.run(RestApplication.class, args);
    }
}
#数据源属性
spring.datasource.url=jdbc:mysql://localhost:3306/pds_00038_11092015
spring.datasource.username=dev
spring.datasource.password=dev123
spring.datasource.drivercassname=com.mysql.jdbc.Driver
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.hibernate.ddl auto=none
spring.jpa.properties.hibernate.cache.region.factory\u class=org.hibernate.cache.ehcache.EhCacheRegionFactory
security.headers.cache=false
security.sessions=无状态
server.port=9094
#security.basic.enabled=false
#兔MQUE配置
spring.rabbitmq.host=localhost
spring.rabbitmq.username=debendrap
spring.rabbitmq.password=debendrap
spring.rabbitmq.virtualhost=debendrap
queue.name=deb1
queue.concurrentuser=100
queue.maxconcurrent.user=512
#兔MQUE配置
smstask.queue.name=pdssmstask
smstask.queue.concurrentuser=30
smstask.queue.maxconcurrent.user=100
#应用程序配置
stringdigester.iteration.count=1000
stringdigester.poolsize.count=16
细线消化器。盐量=10
threadexecutor.core.poolsize=50
threadexecutor.max.poolsize=500
threadexecutor.queue.capacity=250
#短信到期时间
sms.expirytime=180
#除了sms url,请不要更改其他属性
#短信服务url
sms.service.url=http://localhost:8880/pdsmessagingwebservice/smsrequest/sendsms
#短信服务用户名
sms.service.username=pd$smsuser
#短信服务密码
sms.service.password=p@$$word!
#txn中的工程量清单项目详细信息
txn.billitem.msg=%s(%s)Rs%s;
#******Otp相关属性*******#
#otp长度
otp.长度=7
#短信到期时间
#几秒钟之内。用于交易
otp.到期时间=180
#短信到期时间
#几秒钟之内。用于激活
otp.激活请求到期=10080
#******Otp相关属性*******#
#不要改变算法
encryption.algorithm=PBEWITHSHA-256和256BITAES-CBC-BC
ldap.service.url=http://localhost:9060/peopleldap/authenticate
#打开LDAP配置
ldap.url=ldap://localhost
ldap.base=dc=cscpd,dc=in
ldap.user=cn=admin,dc=cscpd,dc=in
ldap.password=cscpds
#*******Elcot数据库比较服务****#
#可能值为true或false
elcotdb.compareservice.enable=false
#只允许数量
elcotdb.fixedthreadpool.size=10
---------------------------------------------------------------------------
我的RestApplication.java文件
包com.omneagate.rest;
导入java.util.ArrayList;
导入java.util.List;
导入org.bouncycastle.jce.provider.BouncyCastleProvider;
导入org.jasypt.digest.PooledStringDigester;
导入org.jasypt.digest.StringDigester;
导入org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
导入org.springframework.amqp.core.Queue;
导入org.springframework.amqp.rabbit.connection.ConnectionFactory;
导入org.springframework.amqp.rabbit.core.RabbitTemplate;
导入org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
导入org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
导入org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
导入org.springframework.amqp.support.converter.MessageConverter;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.beans.factory.annotation.Value;
导入org.springframework.boot.SpringApplication;
导入org.springframework.boot.autoconfigure.EnableAutoConfiguration;
导入org.springframework.boot.context.embedded.FilterRegistrationBean;
导入org.springframework.context.annotation.Bean;
导入org.springframework.context.annotation.ComponentScan;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.context.annotation.ImportResource;
导入org.springframework.core.env.Environment;
导入org.springframework.ldap.core.LdapTemplate;
导入org.springframework.ldap.core.support.LdapContextSource;
导入org.springframework.scheduling.annotation.EnableScheduling;
导入org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
导入org.springframework.transaction.annotation.EnableTransactionManagement;
导入com.omneagate.rest.elcotcompare.ElcotCompareTask;
导入com.omneagate.rest.security.FpsFilter;
导入com.omneagate.rest.service.SmsTaskListener;
导入com.omneagate.utilities.LdapTreeBuilder;
@配置
@启用自动配置
@组件扫描
@启用事务管理
@ImportResource(“类路径:security.xml”)
@使能调度
//此类是应用程序的入口点。
公共类重新应用程序{
@值(“${queue.name}”)
字符串队列名称;
@值(${queue.concurrentuser}”)
int concurrentUsers;
@值(${queue.maxconcurrent.user}”)
int maxConcurrentUsers;
/**串式蒸煮器特性*/
@值(${stringdigester.poolsize.count}”)
int-stringDigesterPoolSize;
@值(${stringdigester.iteration.count}”)
int-stringdigesterations;
@值(${stringdigester.saltsize}”)
int stringDigesterSaltSize;
/**线程执行器属性*/
@值(${threadexecutor.core.poolsize}”)
内螺纹尺寸;
@值(${threadexecutor.max.poolsize}”)
int threadPoolMaxSize;
@值(${threadexecutor.queue.capacity}”)
int线程池队列容量;
/**SMS任务队列配置*/
@值(${smstask.queue.name}”)
字符串smsTaskqueue;
@值(${smstask.queue.concurrentuser}”)
int smsTaskConcurrentUsers;
@值(${queue.maxconcurrent.user}”)
int smsTaskMaxConcurrentUser;
@豆子
MessageConverter MessageConverter(){
返回新的Jackson2JsonMessageConverter();
}
@豆子
RabbitTemplate模板(ConnectionFactory ConnectionFactory,
MessageConverter(转换器){
RabbitTemplate=新的RabbitTemplate(connectionFactory);
模板.setMessageConverter(转换器);
返回模板;
}
@豆子
SimpleMessageListenerContainer c
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect