java - 找不到类:org.springframework.context.ApplicationContext

标签 java spring gradle

我是Spring Framework的新手。我紧随其后的是《 Spring 4 Professional》一书中的说明。在本书中,作者通过xml配置了框架,但我想使用Java对其进行配置。在运行时,我得到 ClassNotFoundException

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
    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)
    ... 7 more

我已经在
github
我做错了什么?

最佳答案

在这里工作正常,运行时会打印Hello World!
您如何尝试运行它?
我想您尝试做java -jar spring-framework-example.jar
这当然是行不通的,因为那样会错过类路径中的库。

如果你交换

jar {
    manifest {
        attributes 'Main-Class': 'com.bakhtiyor.sample.Application'
    }
}


apply plugin: 'application'

mainClassName = 'com.bakhtiyor.sample.Application'

然后使用gradle run,应用程序运行正常。

PS:即使在最小的项目中,也应始终使用Gradle Wrapper。然后,其他人可以更轻松地构建您的项目,因为无需安装任何内容即可构建,并且该构建始终以该构建所针对的Gradle版本运行。

关于java - 找不到类:org.springframework.context.ApplicationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43782535/

相关文章:

java - 为什么这个小小的 Java 程序会占用如此多的时间和内存?

java - 使用 GWT 查看文件是否被修改

java - 使用 Spring Hibernate SessionFactory 选择不同的

java - 如何获取 UPI 超链接支付中指定的 url 的响应

gradle - 等价于 gradle 中测试依赖的 api

gradle - Gradle插件,如何将Jacoco代理挂接到jvm

java - StringBuilder 是线程安全的(与 parallelStream 一起使用)吗?

java - 如何访问外部类的公共(public)方法以便在 JPanel 上重绘?

version-control - Gradle:Ant-wards 兼容吗?

java - JMSTemplate 检查主题是否存在并获取订阅者数量