Не удается запустить загрузочный проект, где сеть закрыта

#spring #spring-boot #spring-mvc #tomcat #tomcat9

#spring #весна-загрузка #spring-mvc #tomcat #tomcat9

Вопрос:

Я создал приложение Spring boot. Это просто:

Плагины:

 apply plugin: 'war'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
  

И в моем скрипте сборки:

 buildscript {
    dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:2.1.3.RELEASE")
    }
}
  

и зависимости:

 compile("org.springframework.boot:spring-boot-devtools")
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-security")
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
  

Кроме того, у меня есть зависимости, такие как: lambok, h2, webjars и т.д. Ничего интересного.

Итак, на моем локальном компьютере:

  • На моем локальном компьютере я создаю файл war!
  • Все в порядке! вообще никаких проблем!

У меня вообще нет проблем! НО когда я развертываю его на сервере, где «НЕТ СЕТИ»

 Mar 27, 2019 11:44:59 AM org.apache.tomcat.util.digester.Digester warning
WARNING: Parse Warning Error at line 25 column 19: schema_reference.4: Failed to read schema document 'http://xmlns.jcp.org/xml/ns/javaee/web-fragment_4_0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
org.xml.sax.SAXParseException; systemId: jar:jar:file:/.../war.war!/WEB-INF/lib/tomcat-embed-websocket-9.0.14.jar!/META-INF/web-fragment.xml; lineNumber: 25; columnNumber: 19; schema_reference.4: Failed to read schema document 'http://xmlns.jcp.org/xml/ns/javaee/web-fragment_4_0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
  

Есть идеи, как я могу решить проблему?

Просто простое веб-приложение без каких-либо конфигураций XML.

Ответ №1:

Вы можете поместить xsd в свой classpath на сервере без подключения к сети. URL-адрес XSD используется только тогда, когда не найдена локальная копия пути к классу xsd.

Также есть подробности о регистрации схем, но это, вероятно, излишне.