[SPRING] 메이븐 봄 - 요소 '콩'의 선언을 찾을 수 없습니다
SPRING메이븐 봄 - 요소 '콩'의 선언을 찾을 수 없습니다
나는 스프링 프로젝트를 maven (jar로 패키지 됨)의 사용법으로 구축했다 (의존성은 별도의 디렉토리에 복사되고 classpath에 추가된다)
java -jar로 실행하고 싶습니다.
문제는 내가 그것을 실행할 때 나는 얻는다 :
원인 : org.xml.sax.SAXParseException : cvc-elt.1 : 선언을 찾을 수 없습니다. 요소 '콩'의.
춘계. 춘계와 스프링 헨드 러는 봄철 콩 등 몇 개의 항아리에 위치하기 때문에 발생합니다.
음영 플러그인을 사용하여 모든 종속성을 풀고 spring.schemas 및 spring.handlers의 내용을 연결하지 않으려는 경우이를 해결할 방법이 있습니까?
내 프로젝트에서 xsd 파일을 저장하지 않고 내 위치를 가리 키도록 schemaLocation을 변경하는 일도 피하고 싶습니다.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camel:camelContext>
<camel:routeBuilder ref="fakeRouteBuilder"/>
</camel:camelContext>
<bean id="fakeRouteBuilder" class="<className>" />
</beans>
해결법
-
==============================
1.이 문제가 발생할 수있는 두 가지 상황을 알고 있습니다.
이 문제가 발생할 수있는 두 가지 상황을 알고 있습니다.
-
==============================
2.XSD가 스프링 항아리에 포함될 것이라고 생각합니다. 문제가되지 않아야합니다.
XSD가 스프링 항아리에 포함될 것이라고 생각합니다. 문제가되지 않아야합니다.
-
==============================
3.스프링 jar는 META-INF / spring.handlers와 META-INF / spring.schemas 파일을 포함합니다. 의존성을 하나의 항아리로 모으는 경우 파일을 덮어 쓰지 않으려면 maven Shade 플러그인을 사용할 수 있습니다 :
스프링 jar는 META-INF / spring.handlers와 META-INF / spring.schemas 파일을 포함합니다. 의존성을 하나의 항아리로 모으는 경우 파일을 덮어 쓰지 않으려면 maven Shade 플러그인을 사용할 수 있습니다 :
http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#AppendingTransformer
-
==============================
4.제가 프록시를 사용했기 때문에 같은 문제가 발생했습니다. Tomcat 6에서 Spring MVC 애플 리케이션을 실행했다. 그냥 내 catalina.bat 파일의 biginning에서 다음 줄을 추가하고 내 문제를 해결 :
제가 프록시를 사용했기 때문에 같은 문제가 발생했습니다. Tomcat 6에서 Spring MVC 애플 리케이션을 실행했다. 그냥 내 catalina.bat 파일의 biginning에서 다음 줄을 추가하고 내 문제를 해결 :
set JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=XXXX -Dhttp.proxyPort=YYYYY -Dhttp.proxyUser=ZZZZ -Dhttp.proxyPassword=XXXXXX
-
==============================
5.원격 리소스 캐시, Window> Preferences> General> Network Connection> Cache에서 xsd 파일을 지우면 비슷한 문제를 해결할 수있었습니다.
원격 리소스 캐시, Window> Preferences> General> Network Connection> Cache에서 xsd 파일을 지우면 비슷한 문제를 해결할 수있었습니다.
-
==============================
6.maven-assembly-plugin에 의해 생성 된 META-INF / INDEX.LIST 파일 또한 범인이 될 수 있습니다.
maven-assembly-plugin에 의해 생성 된 META-INF / INDEX.LIST 파일 또한 범인이 될 수 있습니다.
원인 : Java 버그 : "ClassLoader.getResources ()는 jar 인덱싱을 사용할 때 인스턴스를 하나만 반환합니다"
해결책 : 어셈블리 설명자에서 인덱싱을 비활성화하십시오.
<indexed>false</indexed>
자원: 봄 JIRA SPR-5705 JDK-6957241 jar 색인을 사용하는 경우 ClassLoader.getResources ()가 인스턴스를 하나만 반환합니다.
-
==============================
7.XSD 선언에 http : //가 너무 많이 있습니다. 이 시도:
XSD 선언에 http : //가 너무 많이 있습니다. 이 시도:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/spring" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
(당신의 http : // http : //www.springframework.org/schema/beans/spring-beans-2.5.xsd)
-
==============================
8.내 XSD url이 JAR 파일에 정의 된 XSD 위치와 다른 다른 위치를 가리키면 오류가 발생합니다. 예를 들어 spring-beans-3.0.xsd 대신 spring-beans-2.5.xsd 대신 spring-beans-3.0.xsd를 사용할 수 있습니다.
내 XSD url이 JAR 파일에 정의 된 XSD 위치와 다른 다른 위치를 가리키면 오류가 발생합니다. 예를 들어 spring-beans-3.0.xsd 대신 spring-beans-2.5.xsd 대신 spring-beans-3.0.xsd를 사용할 수 있습니다.
-
==============================
9.또한이 문제를 해결하기 위해 여기에서 조언을 사용할 수 있습니다.
또한이 문제를 해결하기 위해 여기에서 조언을 사용할 수 있습니다.
-
==============================
10.나는 정확히 같은 문제가 있었는데 그것이 2 가지 주요한 이유 때문이라고 생각합니다 :
나는 정확히 같은 문제가 있었는데 그것이 2 가지 주요한 이유 때문이라고 생각합니다 :
from https://stackoverflow.com/questions/4972034/maven-spring-cannot-find-the-declaration-of-element-beans by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] mvn spring-boot : vs java -jar 실행 (0) | 2019.04.04 |
---|---|
[SPRING] 스프링 부트 잭슨에서 기본 표준 시간대를 적용하는 방법 날짜 직렬화 (0) | 2019.04.04 |
[SPRING] 여러 위치에있는 Spring 속성 자리 표시 자 구성 자의 속성 확인 순서는 무엇입니까? (0) | 2019.04.04 |
[SPRING] ApplicationEventMulticaster가 초기화되지 않았습니다. 컨텍스트를 통해 이벤트를 멀티 캐스팅하기 전에 '새로 고침'을 호출하십시오. (0) | 2019.04.04 |
[SPRING] 스프링 부트 비활성화 / 오류 매핑 (0) | 2019.04.04 |