Spring jar包 无法找到 org.springframework.context.support。

尝试编译最简单的Spring程序:
Main.java

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
//下面的代码没用
public class Main {  
    private String who = null;  
    public static void main(String[] args) {  
        BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");  
        HelloWorld hw1 = (HelloWorld)factory.getBean("hello");//map.get("hello")  
        System.out.println(hw1.getInfo());  
        System.out.println(hw1);  
    }  
}

命令行:

$javac -cp /path/of/spring-beans.jar:/path/of/spring-context-support.jar Main.jar

完整的:

javac  -cp /Users/apple/Desktop/springt/sp/spring-framework-5.0.5.RELEASE/libs/spring-beans-5.0.5.RELEASE.jar:/Users/apple/Desktop/springt/sp/spring-framework-5.0.5.RELEASE/libs/spring-context-support-5.0.5.RELEASE.jar Main.java

报错:

Main.java:3: error: package org.springframework.context.support does not exist
import org.springframework.context.support.ClassPathXmlApplicationContext;
                                      ^
Main.java:12: error: cannot find symbol
    BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");  

开始我以为自己哪里出错了,但是解压jar开发包发现:
org.springframework.beans.factory.BeanFactory 正常,但是
spring-context-support-5.0.5.RELEASE根本没有context.support
目录:

$ tree -L 3
.
├── META-INF
│   ├── MANIFEST.MF
│   ├── license.txt
│   └── notice.txt
└── org
    └── springframework
        ├── cache
        ├── mail
        ├── scheduling
        └── ui

7 directories, 3 files

$ pwd
/Users/apple/Desktop/springt/sp/spring-framework-5.0.5.RELEASE/libs/spring-context-support-5.0.5.RELEASE

为什么会出现这种情况?
我又重新下载了几个早些版本的Spring jar包,同样没有相应的目录,我是哪里出错了?

阅读 14k
3 个回答

检查spring-context-5.0.5.RELEASE这个jar有没引入

新手上路,请多包涵

你好好看看包的名字就没有发现什么不对吗。。。
有context/support目录的应该是spring-context-x.x.x.RELEASE.jar而不是spring-context-support-x.x.x.RELEASE啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题