Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.ClassNotFoundException:org.springframework.core.ResolvableTypeProvider_Java_Spring_Maven_Spring Scheduled - Fatal编程技术网

java.lang.ClassNotFoundException:org.springframework.core.ResolvableTypeProvider

java.lang.ClassNotFoundException:org.springframework.core.ResolvableTypeProvider,java,spring,maven,spring-scheduled,Java,Spring,Maven,Spring Scheduled,我已经编写了一个带Spring注释的调度程序,但是当我执行它时,会在文章标题中给出错误消息 SchedulerConfig.java import java.util.concurrent.Executor; import java.util.concurrent.Executors; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configu

我已经编写了一个带Spring注释的调度程序,但是当我执行它时,会在文章标题中给出错误消息

SchedulerConfig.java

import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;

import com.fwd.pmap.scheduler.SchedulerApp;

@Configuration
@EnableScheduling
public class SchedulerConfig implements SchedulingConfigurer {

    @Bean
    public SchedulerApp bean() {
        return new SchedulerApp();
    }

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.setScheduler(taskExecutor());
    }

    @Bean(destroyMethod="shutdown")
    public Executor taskExecutor() {
        return Executors.newScheduledThreadPool(4);
    }
}
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.fwd.pmap.memberInterfaceFile.CsvReader;
import com.fwd.pmap.memberInterfaceFile.CsvWriter;;

@Component
public class SchedulerApp
{
    @Scheduled(cron="0 0 17 * ? *")
    public void importInterfaceFile()
    {
        CsvReader reader = new CsvReader();
        try {
            reader.importInterfaceFile();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Scheduled(cron="0 0 6 * ? *")
    public void generateInterfaceFile()
    {
        CsvWriter writer = new CsvWriter();
        try {
            writer.generateInterfaceFile();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
SchedulerApp.java

import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;

import com.fwd.pmap.scheduler.SchedulerApp;

@Configuration
@EnableScheduling
public class SchedulerConfig implements SchedulingConfigurer {

    @Bean
    public SchedulerApp bean() {
        return new SchedulerApp();
    }

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.setScheduler(taskExecutor());
    }

    @Bean(destroyMethod="shutdown")
    public Executor taskExecutor() {
        return Executors.newScheduledThreadPool(4);
    }
}
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.fwd.pmap.memberInterfaceFile.CsvReader;
import com.fwd.pmap.memberInterfaceFile.CsvWriter;;

@Component
public class SchedulerApp
{
    @Scheduled(cron="0 0 17 * ? *")
    public void importInterfaceFile()
    {
        CsvReader reader = new CsvReader();
        try {
            reader.importInterfaceFile();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Scheduled(cron="0 0 6 * ? *")
    public void generateInterfaceFile()
    {
        CsvWriter writer = new CsvWriter();
        try {
            writer.generateInterfaceFile();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
和启动调度程序作业的主类

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;

public class SchedulerMain
{
    @SuppressWarnings({ "unused", "resource" })
    public static void main(String[] args) {
        AbstractApplicationContext context = new AnnotationConfigApplicationContext(SchedulerConfig.class);
    }
}
我收到的错误消息是:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/ResolvableTypeProvider
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at com.fwd.pmap.scheduler.SchedulerMain.main(SchedulerMain.java:10)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.ResolvableTypeProvider
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 13 more
pom.xml

<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.fwd</groupId>
  <artifactId>fwd-PMAP</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <jboss.version>3.0.2.Final-redhat-15</jboss.version>
    <maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
    <maven-war-plugin.version>2.6</maven-war-plugin.version>

    <!-- Spring -->
    <spring-framework.version>4.0.3.RELEASE</spring-framework.version>

    <!-- Hibernate / JPA -->
    <hibernate.version>4.2.21.Final</hibernate.version>

    <!-- Logging -->
    <logback.version>1.1.7</logback.version>

    <!-- Restlet -->
    <restlet.version>2.3.4</restlet.version>
    <commons-lang.version>3.4</commons-lang.version>
    <jackson.version>2.7.1</jackson.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.jboss.spec</groupId>
      <artifactId>jboss-javaee-6.0</artifactId>
      <version>${jboss.version}</version>
      <type>pom</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jboss-jaxrs-api_1.1_spec</artifactId>
          <groupId>org.jboss.spec.javax.ws.rs</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Spring ORM support -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring-framework.version}</version>
    </dependency>

    <!-- Spring Scheduler -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>1.3.3.RELEASE</version>
    </dependency>

    <!-- Logging -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
    </dependency>

    <!-- Hibernate -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>${hibernate.version}</version>
    </dependency>

    <!-- Super CSV -->
    <dependency>
      <groupId>net.sf.supercsv</groupId>
      <artifactId>super-csv</artifactId>
      <version>2.4.0</version>
    </dependency>

    <!-- Excel Writer -->
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>3.9</version>
    </dependency>

    <!-- Copy POJO to POJO -->
    <dependency>
      <groupId>org.modelmapper</groupId>
      <artifactId>modelmapper</artifactId>
      <version>0.7.5</version>
    </dependency>

    <!-- Restlet -->
    <dependency>
      <groupId>org.restlet.jee</groupId>
      <artifactId>org.restlet.ext.servlet</artifactId>
      <version>${restlet.version}</version>
    </dependency>

    <dependency>
      <groupId>org.restlet.jse</groupId>
      <artifactId>org.restlet.ext.json</artifactId>
      <version>${restlet.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>${commons-lang.version}</version>
    </dependency>

    <!-- JSON -->
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.0.4</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
    </dependency>

  </dependencies>

  <build>
    <finalName>${project.artifactId}</finalName>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven-war-plugin.version}</version>
          <configuration>
            <failOnMissingWebXml>false</failOnMissingWebXml>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
          <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <failOnMissingWebXml>false</failOnMissingWebXml>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

4.0.0
com.fwd
fwd PMAP
0.0.1-快照
战争
UTF-8
1.8
3.0.2.Final-redhat-15
3.5.1
2.6
4.0.3.1发布
4.2.21.最终版本
1.1.7
2.3.4
3.4
2.7.1
org.jboss.spec
jboss-javaee-6.0
${jboss.version}
聚甲醛
假如
jboss-jaxrs-api_1.1_规范
org.jboss.spec.javax.ws.rs
org.springframework
春季甲虫
${spring framework.version}
org.springframework.boot
弹簧靴起动器
1.3.3.1发布
回写
回归经典
${logback.version}
org.hibernate
休眠实体管理器
${hibernate.version}
net.sf.sv
超级csv
2.4.0
org.apache.poi
poi
3.9
org.modelmapper
模型映射器
0.7.5
org.restlet.jee
org.restlet.ext.servlet
${restlet.version}
org.restlet.jse
org.restlet.ext.json
${restlet.version}
org.apache.commons
commons-lang3
${commons-lang.version}
玻璃鱼
javax.json
1.0.4
com.fasterxml.jackson.core
杰克逊数据绑定
${jackson.version}
${project.artifactId}
org.springframework.boot
springbootmaven插件
org.apache.maven.plugins
maven战争插件
${maven war plugin.version}
假的
org.apache.maven.plugins
maven编译器插件
${maven编译器plugin.version}
${java.version}
${java.version}
假的

2个月前它还可以正常工作,直到最近我重新查看代码,发现它被破坏了。任何人都可以将指针?

cd
插入项目目录

使用:


查看您的lib-jar是否存在冲突版本。

您是否在依赖关系树中看到了spring-core jar?@Apostolos是的,我可以在我的Maven依赖关系库下看到
spring-core-4.0.3.RELEASE.jar
您是否只看到了spring-core-4.0.3或可能还有其他版本的spring-core jar?还有其他类似
spring jdbc的spring jar,spring tx、spring aop等,但只有一个spring内核,版本为4.0.3。Release我终于明白了发生了什么!!!几个月前,我换了一台工作站,在当前的笔记本电脑上,JBoss使用的是定制的settings.xml。有一个
springga存储库
,它自动包含Spring相关jar的相关版本。Spring调度程序依赖于
Spring上下文
。当我检查库时,我看到
spring-context-4.2.5.RELEASE.jar
spring-core-4.0.3.RELEASE.jar
不兼容。当我将cd放入项目目录并执行上面给出的命令时,
mvn不会被识别为内部或外部命令、可操作程序或批处理文件。
好,这是正常的。必须将maven/bin路径设置为路径变量。@Apostolos我不确定maven/bin位置在哪里。仅供参考,我使用的是JBoss,我从不单独安装maven。我希望我说的有道理。你应该先安装maven。我建议你去并遵循快速入门