我的Spring boot web应用程序在开始通过jar包运行时出错,尽管我可以通过mvn Spring boot:run运行。
你能帮我纠正这个错误吗?
我在数据源配置中使用:
@PropertySource(value = {"classpath:datasource-postgresql.properties"})
我的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.example</groupId>
<artifactId>MultiTenancyDemo</artifactId>
<!-- <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> -->
<name>MultiTenancyDemo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.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>
<p.type>jar</p.type>
<start-class>com.example.demo.MultiTenancyDemoApplication</start-class>
<maven.test.skip>true</maven.test.skip>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- For Thymeleaf VIEW. Remove it if using Jsp VIEW -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.2.Final</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.163</version>
</dependency>
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-sqlmap</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.mindrot</groupId>
<artifactId>jbcrypt</artifactId>
<version>0.3m</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<packaging>${p.type}</packaging>
</project>
我通过窗口命令行运行:
java-jar目标\ MultitenacyDemo-2.0.0。释放。罐子
或
java-jar目标\ MultitenacyDemo-2.0.0。释放。jar—弹簧
。配置。位置=应用程序。属性,数据源postgresql。属性
错误:
Error starting ApplicationContext. To display the conditions report re-run your
application with 'debug' enabled.
2018-03-29 11:52:46.370 ERROR 7844 --- [ main] o.s.boot.SpringApplicat
ion : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean wit
h name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindi
ngPostProcessor': Invocation of init method failed; nested exception is java.uti
l.ServiceConfigurationError: javax.validation.spi.ValidationProvider: Error read
ing configuration file
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:1710) ~[spring-be
ans-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:583) ~[spring-beans
-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:502) ~[spring-beans-5
.0.4.RELEASE.jar!/:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$
doGetBean$0(AbstractBeanFactory.java:312) ~[spring-beans-5.0.4.RELEASE.jar!/:5.0
.4.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.4.RELEA
SE.jar!/:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:310) ~[spring-beans-5.0.4.RELEASE.jar!/:5.0.4.RELEAS
E]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:205) ~[spring-beans-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate
.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:205) ~[spring
-context-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.regist
erBeanPostProcessors(AbstractApplicationContext.java:709) ~[spring-context-5.0.4
.RELEASE.jar!/:5.0.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:534) ~[spring-context-5.0.4.RELEASE.jar!/:5.0.
4.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicat
ionContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.
0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.
java:752) [spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringAppli
cation.java:388) [spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java
:327) [spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java
:1246) [spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java
:1234) [spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at com.example.demo.MultiTenancyDemoApplication.main(MultiTenancyDemoApp
lication.java:31) [classes!/:2.0.0.RELEASE]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.
0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.
0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:
1.8.0_131]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_131]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner
.java:48) [MultiTenancyDemo-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [Mu
ltiTenancyDemo-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [Mu
ltiTenancyDemo-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
[MultiTenancyDemo-2.0.0.RELEASE.jar:2.0.0.RELEASE]
Caused by: java.util.ServiceConfigurationError: javax.validation.spi.ValidationP
rovider: Error reading configuration file
at java.util.ServiceLoader.fail(Unknown Source) ~[na:1.8.0_131]
at java.util.ServiceLoader.parse(Unknown Source) ~[na:1.8.0_131]
at java.util.ServiceLoader.access$200(Unknown Source) ~[na:1.8.0_131]
at java.util.ServiceLoader$LazyIterator.hasNextService(Unknown Source) ~
[na:1.8.0_131]
at java.util.ServiceLoader$LazyIterator.hasNext(Unknown Source) ~[na:1.8
.0_131]
at java.util.ServiceLoader$1.hasNext(Unknown Source) ~[na:1.8.0_131]
at javax.validation.Validation$GetValidationProviderListAction.loadProvi
ders(Validation.java:381) ~[validation-api-2.0.1.Final.jar!/:na]
at javax.validation.Validation$GetValidationProviderListAction.run(Valid
ation.java:356) ~[validation-api-2.0.1.Final.jar!/:na]
at javax.validation.Validation$GetValidationProviderListAction.getValida
tionProviderList(Validation.java:338) ~[validation-api-2.0.1.Final.jar!/:na]
at javax.validation.Validation$DefaultValidationProviderResolver.getVali
dationProviders(Validation.java:320) ~[validation-api-2.0.1.Final.jar!/:na]
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation
.java:277) ~[validation-api-2.0.1.Final.jar!/:na]
at org.springframework.boot.validation.MessageInterpolatorFactory.getObj
ect(MessageInterpolatorFactory.java:53) ~[spring-boot-2.0.0.RELEASE.jar!/:2.0.0.
RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesJs
r303Validator$Delegate.<init>(ConfigurationPropertiesJsr303Validator.java:71) ~[
spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesJs
r303Validator.<init>(ConfigurationPropertiesJsr303Validator.java:43) ~[spring-bo
ot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesJs
r303Validator.getIfJsr303Present(ConfigurationPropertiesJsr303Validator.java:64)
~[spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesBi
nder.<init>(ConfigurationPropertiesBinder.java:69) ~[spring-boot-2.0.0.RELEASE.j
ar!/:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesBi
ndingPostProcessor.afterPropertiesSet(ConfigurationPropertiesBindingPostProcesso
r.java:78) ~[spring-boot-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1769) ~[spring
-beans-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706) ~[spring-be
ans-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
... 24 common frames omitted
Caused by: java.util.zip.ZipException: invalid code lengths set
at java.util.zip.InflaterInputStream.read(Unknown Source) ~[na:1.8.0_131
]
at org.springframework.boot.loader.jar.ZipInflaterInputStream.read(ZipIn
flaterInputStream.java:52) ~[MultiTenancyDemo-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) ~[na:1.8.0_131]
at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[na:1.8.0_131]
at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[na:1.8.0_131]
at java.io.InputStreamReader.read(Unknown Source) ~[na:1.8.0_131]
at java.io.BufferedReader.fill(Unknown Source) ~[na:1.8.0_131]
at java.io.BufferedReader.readLine(Unknown Source) ~[na:1.8.0_131]
at java.io.BufferedReader.readLine(Unknown Source) ~[na:1.8.0_131]
at java.util.ServiceLoader.parseLine(Unknown Source) ~[na:1.8.0_131]
... 42 common frames omitted