sách gpt4 ai đã đi

java - ClassPathXmlApplicationContext 出现 NoClassDefFoundError?

In lại 作者:行者123 更新时间:2023-12-02 04:31:53 33 4
mua khóa gpt4 Nike

我正在使用 Intellij,我的源类是 main.com.coding,我的资源文件是 main.com.testing。我将 spring.xml 文件放入资源文件中。

我的测试类位于 test.com.coding 中,我的测试资源文件位于 test.com.testing 中。

我尝试在我的主类中执行这样的代码:

 public static void main(String[] args) throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext(args[0]);

在我的单元测试中,当我尝试测试该方法时,我尝试了这个,args[0] 是我的 spring 文件:

@Bài kiểm tra
public void testMain() throws Exception {
DataMain data = new DataMain();
String[] a = {"/config.context.xml","sample.text","output.text" };
data.main(a);
}

这是 config.context.xml 中的内容:

 
"http://www.springframework.org/dtd/spring-beans.dtd">

此外,我的 lib 路径中确实有 spirng.jar。我想知道他们找不到我的文件出了什么问题。我尝试在 main 方法中传递绝对路径,例如:

public static void main(String[] args) throws Exception {
String absPath = //absolute path of spring file for args[0]
ApplicationContext context = new ClassPathXmlApplicationContext(absPath );

这是我得到的错误:

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.context.support.AbstractApplicationContext.(AbstractApplicationContext.java:145)
at org.springframework.context.support.AbstractRefreshableApplicationContext.(AbstractRefreshableApplicationContext.java:84)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.(AbstractRefreshableConfigApplicationContext.java:59)
at org.springframework.context.support.AbstractXmlApplicationContext.(AbstractXmlApplicationContext.java:58)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:136)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
at com.main.DataMain.main(DataMain.java:46)
at com.test.TestDataMain.testMain(TestDataMain.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
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)
... 34 more

1 Câu trả lời

Thêm vàocommons-logging.jar,您的错误就会得到解决。

我还建议您使用 maven,因为它在内部解决了所有依赖关系。

关于java - ClassPathXmlApplicationContext 出现 NoClassDefFoundError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31347747/

33 4 0
Bài viết được đề xuất: java - 如何遵循 Java 对象 setter 中的 DRY?
Bài viết được đề xuất: java - 断言 Set 包含具有返回给定值的方法的对象
Bài viết được đề xuất: java - Java 中多个请求共享同一实例(OOP)
Bài viết được đề xuất: java - Ehcache 与 Spring + Jersey
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com