Java Spring启动部署-NoClassDefFoundError

Java Spring启动部署-NoClassDefFoundError,java,spring,maven,deployment,spring-boot,Java,Spring,Maven,Deployment,Spring Boot,我正在尝试部署Spring启动应用程序。我通过maven插件构建了一个jar文件。但我得到一个错误,说: Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication at com.spring-boot.example.AppConfig.main(AppConfig.java:18) Caused by: java.lang.Class

我正在尝试部署Spring启动应用程序。我通过maven插件构建了一个jar文件。但我得到一个错误,说:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
        at com.spring-boot.example.AppConfig.main(AppConfig.java:18)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
    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)
    ... 1 more
我尝试向pom.xml文件中添加其他插件,但没有一个成功。任何帮助都将不胜感激

这是我的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<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.spring-boot.example</groupId>
    <artifactId>spring-boot-example</artifactId>
    <version>0.1</version>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <start-class>com.spring-boot.example.AppConfig</start-class>

        <spring.version>4.0.7.RELEASE</spring.version>
        <log4j.version>1.2.17</log4j.version>
        <jdk.version>1.7</jdk.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.1.9.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.2.0.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>1.2.1.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>


    </dependencies>

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

4.0.0
com.spring-boot.example
spring引导示例
0.1
1.8
UTF-8
com.spring-boot.example.AppConfig
4.0.7.1发布
1.2.17
1.7
org.springframework.boot
spring启动程序父级
1.1.9.发布
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
弹簧起动试验
测试
org.hibernate
休眠验证器
org.springframework
弹簧试验
测试
org.springframework
SpringJDBC
4.2.0.1发布
org.springframework.boot
弹簧靴启动器jdbc
1.2.1.发布
org.springframework.boot
弹簧启动机tomcat
假如
org.springframework.boot
springbootmaven插件

首先,我建议您将依赖项升级到最新版本的Spring Boot framework(如果适用)

此外,与您使用的版本无关,您缺少的类包含在此依赖项中:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot</artifactId>
    <version>1.2.6.RELEASE</version>
</dependency>

我建议使用maven assembly插件,以便在构建jar文件后,所有依赖项都会出现在jar文件中。 下面是它的文档:

试试看
$mvn依赖项:从终端清除本地存储库
。这可能是因为您的某些依赖项已损坏。这个命令对我有效

您是如何构建、部署和运行应用程序的?这个错误意味着类路径上缺少Spring jar文件。我通过点击Plugins->Spring boot:run->“run Maven Build”来运行它。我通过点击Plugins->jar:jar->“runmaven Build”来部署它。我不能更改版本,我会出错。我确实更改了插件,但结果与以前一样(我得到了一个异常java.lang.NoClassDefFoundError)。对于有相同问题的人:
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot-version}</version>
                <configuration>
                    <mainClass>your-main-class</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
       </plugins>
</build>