2016-10-20 3 views
2

저는 Swing GUI가있는 스프링 부팅 응용 프로그램이 있습니다. 그것은 단지 작동합니다! 그러나 스파크 2.0 종속성을 pom.xml 파일에 추가하자마자 시작하는 동안 다음과 같은 오류 메시지가 나타나고 시작되지 않습니다!spark-maven 종속성으로 인해 sprint-boot 응용 프로그램이 중단됩니다.

SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/Users/ehsun7b/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/Users/ehsun7b/.m2/repository/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] 

    . ____   _   __ _ _ 
/\\/___'_ __ _ _(_)_ __ __ _ \ \ \ \ 
(()\___ | '_ | '_| | '_ \/ _` | \ \ \ \ 
\\/ ___)| |_)| | | | | || (_| | )))) 
    ' |____| .__|_| |_|_| |_\__, |//// 
=========|_|==============|___/=/_/_/_/ 
:: Spring Boot ::  (v1.4.1.RELEASE) 

2016-10-21 00:02:23.795 INFO 1642 --- [   main] edu.mfldclin.mcrf.vakilabad.Application : Starting Application on Ehsuns-MacBook-Pro.local with PID 1642 (/Users/ehsun7b/NetBeansProjects/vakilabad/target/classes started by ehsun7b in /Users/ehsun7b/NetBeansProjects/vakilabad) 
2016-10-21 00:02:23.797 INFO 1642 --- [   main] edu.mfldclin.mcrf.vakilabad.Application : No active profile set, falling back to default profiles: default 
2016-10-21 00:02:23.839 INFO 1642 --- [   main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.spring[email protected]67c27493: startup date [Fri Oct 21 00:02:23 MYT 2016]; root of context hierarchy 
2016-10-21 00:02:24.290 INFO 1642 --- [   main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring 
2016-10-21 00:02:25.650 INFO 1642 --- [   main] e.m.mcrf.vakilabad.log.LogService  : LogService init. 
2016-10-21 00:02:25.767 INFO 1642 --- [   main] e.mfldclin.mcrf.vakilabad.log.LogFrame : Adding LogFrame instance to the LogMonitors of LogService: edu.mfldclin.mcrf.vakilabad.log.LogFrame[frame0,0,2,511x390,invalid,hidden,layout=java.awt.BorderLayout,title=Log since 2016-10-21T00:02:25.750,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,22,511x368,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] 
2016-10-21 00:02:25.897 WARN 1642 --- [   main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties': Initialization of bean failed; nested exception is javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. 
2016-10-21 00:02:25.897 INFO 1642 --- [   main] o.s.j.e.a.AnnotationMBeanExporter  : Unregistering JMX-exposed beans on shutdown 
2016-10-21 00:02:25.902 INFO 1642 --- [   main] utoConfigurationReportLoggingInitializer : 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 
2016-10-21 00:02:25.906 ERROR 1642 --- [   main] o.s.b.d.LoggingFailureAnalysisReporter : 

*************************** 
APPLICATION FAILED TO START 
*************************** 

Description: 

The Bean Validation API is on the classpath but no implementation could be found 

Action: 

Add an implementation, such as Hibernate Validator, to the classpath 

이 내가 추가 종속성 : 나는 spark-core_2.11-2.0.1.jar\META-INF\DEPENDENCIES에보고하고

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-core_2.11</artifactId> 
    <version>2.0.1</version> 
</dependency> 

답변

1

을하고있다 :

// ------------------------------------------------------------------ 
// Transitive dependencies of this project determined from the 
// maven pom organized by organization. 
// ------------------------------------------------------------------ 

Spark Project Core 


From: 'an unknown organization' 
... 
... 
    - Bean Validation API (http://beanvalidation.org) javax.validation:validation-api:jar:1.1.0.Final 
    License: The Apache Software License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt) 

@EnableAutoConfiguration 스프링 아마 클래스 패스에이 종속성을보고 시도 Java specification for Bean Validation의 구현을 찾으십시오. (spring validation에 대한 흥미로운 독서).

제 생각에는 스파크가 jersey bean-validation에 대한 작업 상태 정보를 표시하는 방법으로 jersey을 사용하기 때문입니다. 그러나이 문장에 대해서는 확실하지 않습니다.

Bean Validation 구현을 제공하면이 문제를 해결할 수 있습니다. 구현 의존성을 maven에 추가하면됩니다.

최대 절전 모드 - 검증

<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator --> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-validator</artifactId> 
    <version>5.3.0.Final</version> 
</dependency> 

또는 훨씬 더 빨리 (source) 아파치 BeanValidation.

<!-- https://mvnrepository.com/artifact/org.apache.bval/bval-jsr303 --> 
<dependency> 
    <groupId>org.apache.bval</groupId> 
    <artifactId>bval-jsr303</artifactId> 
    <version>0.5</version> 
</dependency> 

솔루션은 코멘트입니다! (유효성 검사 API 제외)

+0

어제 나는 최대 절전 모드 유효성 검사기를 추가하려했지만 문제를 해결하지 못했지만 apache bval을 시도하고 방법을 알아 보도록하겠습니다. – ehsun7b

+0

많은 도움이되지 않았다 : org.springframework.beans.factory.UnsatisfiedDependencyException : 오류 'org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration'이름을 가진 bean 작성 : 불만족 의존성이 생성자 매개 변수 0을 통해 표현; 중첩 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름 'spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties'로 bean 생성 오류 : 빈 초기화에 실패했습니다. 중첩 예외는 – ehsun7b

+2

흠입니다. 이상하네요. 유효성 검사를 제외하려고하지만, 나는 BeanValidator으로이 문제를 해결하는 것이 좋습니다 생각하지만, 당신은'스파크 core' exlude 의존성이 뭔가를 시도 할 수 있습니다 :' org.apache.spark 스파크 core_2.11 2.0.1 javax의.그것은 현재의 문제를 해결 ' – VladoDemcak