Nano Hash - криптовалюты, майнинг, программирование

SAXParseException: не удалось прочитать документ схемы «http://www.springframework.org/schema/context/spring-context.xsd»

Я разрабатываю пакетное приложение Spring, я могу запустить его с основным классом Java, но когда я пытаюсь запустить его с помощью командной строки, я получаю следующую ошибку. SAWParseException: не удалось прочитать документ схемы 'http://www.springframework.org/schema/context/spring-context.xsd'

Я работаю с Spring 3.2.6.RELEASE и Spring пакетом 2.2.5.RELEASE.

XML-файл POM:

<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.app.poc.tool.purgeJms</groupId>
   <artifactId>purgeJmsQueue</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <properties>
      <java.version>1.7</java.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <spring.version>3.2.6.RELEASE</spring.version>
   </properties>
   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
               <execution>
                  <goals>
                     <goal>shade</goal>
                  </goals>
                  <configuration>
                     <shadedArtifactAttached>true</shadedArtifactAttached>
                     <transformers>
                        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                           <mainClass>org.springframework.batch.core.launch.support.CommandLineJobRunner</mainClass>
                        </transformer>
                     </transformers>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
               <source>${java.version}</source>
               <target>${java.version}</target>
            </configuration>
         </plugin>
      </plugins>
   </build>
   <dependencies>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-beans</artifactId>
         <version>${spring.version}</version>
      </dependency>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
         <version>${spring.version}</version>
      </dependency>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aop</artifactId>
         <version>${spring.version}</version>
      </dependency>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aspects</artifactId>
         <version>${spring.version}</version>
      </dependency>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-tx</artifactId>
         <version>${spring.version}</version>
      </dependency>
      <dependency>
         <groupId>com.oracle.weblogic</groupId>
         <artifactId>thinclient</artifactId>
         <version>3</version>
      </dependency>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
         <version>${spring.version}</version>
      </dependency>
      <!-- SPRING BATCH -->
      <dependency>
         <groupId>org.springframework.batch</groupId>
         <artifactId>spring-batch-core</artifactId>
         <version>2.2.5.RELEASE</version>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>org.springframework.batch</groupId>
         <artifactId>spring-batch-infrastructure</artifactId>
         <version>2.2.5.RELEASE</version>
      </dependency>
      <dependency>
         <groupId>org.springframework.batch</groupId>
         <artifactId>spring-batch-test</artifactId>
         <version>2.2.5.RELEASE</version>
      </dependency>
      <!-- JMS -->
      <dependency>
         <groupId>javax.jms</groupId>
         <artifactId>jms-api</artifactId>
         <version>1.1</version>
         <scope>provided</scope>
      </dependency>
      <!-- TEST -->
      <!-- JMS -->
      <dependency>
         <groupId>com.mockrunner</groupId>
         <artifactId>mockrunner-jms</artifactId>
         <version>1.0.0</version>
      </dependency>
      <dependency>
         <groupId>joda-time</groupId>
         <artifactId>joda-time</artifactId>
         <version>2.3</version>
      </dependency>
   </dependencies>
</project>

XML-файл бинов Spring:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:c="http://www.springframework.org/schema/c"
    xmlns:batch="http://www.springframework.org/schema/batch" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd      
        ">

        <context:property-placeholder location="classpath*:pocInfo.properties"/>
        <context:component-scan base-package="com.app.pc.sa.cnf.batch.purgequeue" />
        <bean id="purgeQueueServiceImpl" class="com.app.pc.sa.cnf.batch.purgequeue.PurgeQueueServiceImpl" scope="step">
          <property name="jndiFactory" value="${JNDI_FACTORY}"></property>
          <property name="connectionFactory" value="${CONNECTION_FACTORY}"></property>
          <property name="url" value="${url}"></property>
          <property name="jmsErrorQueue" value="${queueRetrieve}"> </property>

        </bean>
     <!-- Job Repository: used to persist the state of the batch job -->
    <bean id="transactionManager" class="org.springframework.batch.support.transaction.ResourcelessTransactionManager"/>

    <!-- Job Launcher: creates the job and the job state before launching it -->
    <bean id="jobLauncher" class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
        <property name="jobRepository" ref="jobRepository" />
    </bean>
       <bean id="jobRepository"
          class="org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean"
          p:transactionManager-ref="transactionManager"
          p:isolationLevelForCreate="ISOLATION_DEFAULT" />

    <bean id="purgeQueueTasklet"
        class="com.app.pc.sa.cnf.batch.purgequeue.PurgeQueueTasklet" />

    <batch:job job-repository="jobRepository"  id="POC-SA-NF-JOB-UC-REF-088">
        <batch:step id="purgeStep">
            <batch:tasklet 
                ref="purgeQueueTasklet" >
            </batch:tasklet>
        </batch:step>
    </batch:job>
</beans>

Команда, которая запускает пакет

java -cp purgeJmsQueue-0.0.1-SNAPSHOT-shaded.jar;lib/* org.springframework.batch.core.launch.support.CommandLineJobRunner classpath:/config/application-context.xml jobId

введите здесь описание изображения


  • Опубликуйте команду, которую вы используете для запуска задания из командной строки, и полученную полную трассировку стека. 24.05.2019
  • Привет @Mahmoud, я добавил командную строку и журнал к своему вопросу. 24.05.2019
  • Спасибо за добавление этих деталей. Однако я не понимаю, почему у вас возникает эта ошибка. Вероятно, это связано с вашей затененной банкой. Вы уверены, что все зависимости (особенно spring-context) правильно затенены в банке? Каков размер этого purgeJmsQueue-0.0.1-SNAPSHOT-shaded.jar? 24.05.2019
  • Спасибо за ответ, размер банки 16 мегабайт, возможно, проблема возникла из-за затененной банки, но я понятия не имею stackoverflow.com/questions/15110671/ 24.05.2019
  • Наконец, я решил проблему, используя файлы spring.schema и spring.handlers в исходной папке META-INF. 24.05.2019
  • Есть ли способ запустить банку без папки lib, которая содержит банку весенних пакетов, потому что, когда я запускаю командную строку без этой папки, она не работает, несмотря на затененную банку? 31.05.2019

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..