2013-12-12 3 views
2

У меня есть партия весны, которая использует весеннюю загрузку 0.5.0M2. Я использую сборку jar-with-dependencies для создания исполняемого JAR-файла. Я проверил, что JAR генерируется с соответствующими зависимостями, т. Е. Что все требуемые Sprinf xsds расположены там, где они должны быть, и что плагин с пружинной загрузкой создал надлежащие META-INF/spring.schemas.Весеннее приложение не учитывает весну. Schemas

Я запускаю свое приложение с терминала Cygwin, но из-за проверки подлинности NTLM, которую требует мой прокси-сервер, у меня нет доступа к сети из оболочки Cygwin.

Если я запустил приложение с mvn spring-boot: запустите его. Однако в производстве пакет будет запущен с java -jar myExecutableJar.jar, и я вполне уверен, что сервер не будет иметь доступ к Интернету.

В этом случае я получаю следующее сообщение об ошибке:

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

2013-12-12 17:15:42,197 INFO [fr.foo.my.app.MyBatch] - <Starting MyBatch on UC401711VW7JAV1 with PID 6848 (C:\nicolas\git\foobatch\target\indexer-batch-0.2.0-jar-with-dependencies.jar started by S818203)> 
2013-12-12 17:16:03,481 WARN [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - <Ignored XML validation warning> 
org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 12; schema_reference.4 : Echec de la lecture du document de sch▒ma 'http://www.springframework.org/schema/beans/spring-beans-3.2.xsd' pour les raisons suivantes : 1) Le document est introuvable ; 2) Le document n'a pas pu ▒tre lu ; 3) L'▒l▒ment racine du document n'est pas <xsd:schema>. 
     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
[...] 
Caused by: java.net.ConnectException: Connection timed out: connect 
     at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
     at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
     at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
     at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
     at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
     at java.net.PlainSocketImpl.connect(Unknown Source) 
     at java.net.SocksSocketImpl.connect(Unknown Source) 
     at java.net.Socket.connect(Unknown Source) 
     at java.net.Socket.connect(Unknown Source) 
     at sun.net.NetworkClient.doConnect(Unknown Source) 
     at sun.net.www.http.HttpClient.openServer(Unknown Source) 
     at sun.net.www.http.HttpClient.openServer(Unknown Source) 
     at sun.net.www.http.HttpClient.<init>(Unknown Source) 
     at sun.net.www.http.HttpClient.New(Unknown Source) 
     at sun.net.www.http.HttpClient.New(Unknown Source) 
     at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) 
     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 
     at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
     at [...] 

Так я расцениваю это как приложение пытается загрузить пружинные бобы-3,2 XSD вместо учета spring.schemas и использовать ресурс, путь к классам присутствует в JAR.

Есть ли способ заставить контекст весны сделать это?

Спасибо за помощь!

+0

Может быть ошибка, я полагаю, но она работает для меня (постройте банку, отключите сетевой кабель, запустите банку). Мне кажется более вероятным, что у вас на самом деле нет 'spring.schemas' на вашем пути к классам. Не знаете, как это может произойти, но проверьте содержимое вашей банки. –

+0

P.S. вам действительно нужно обновить Spring Boot. С проектом M2 многое случилось с M2. У вас такая же проблема с моментальным снимком? –

ответ

0

Наиболее распространенная причина этой ошибки заключается в использовании явных URL-адресов, сопоставленных с версией, в XML, а затем случайным образом включении версии соответствующей JAR в ваш путь к классам. Например. если вы ссылаетесь на spring-beans-4.0.xsd в заголовке XML, но в своих транзитивных зависимостях включаете spring-context:3.2.*.

Смежные вопросы