eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)
在上一篇eclipse导入spring源码一 中已经完成一部分了,但是整个项目代码依然有报错:
很明显的错误,就是找不到jar(spring-asm-repack-5.0.1.jar和spring-cglib-repack-3.1.jar)包,查看源文件的确没有这2个包。那么怎么得到这2个包呢?我找过maven仓库也没找到,最后终于知道了可以通过jar命令编译spring-core包得到这2个jar
编译生成spring-asm-repack-5.0.1.jar和spring-cglib-repack-3.1.jar
到这个网站下载spring的lib压缩包http://repo.springsource.org/libs-release-local/org/springframework/spring/ 我下载的是和源码对应的spring-framework-3.2.18.RELEASE-dist.zip
解压spring-framework-3.2.18.RELEASE-dist.zip 到spring-framework-3.2.18.RELEASE-dist\spring-framework-3.2.18.RELEASE\libs路径下找到spring-core-3.2.18.RELEASE.jar
再把spring-core-3.2.18.RELEASE.jar用压缩工具解压出来:
- 然后cmd到这个目录下执行命令:
jar cvf spring-cglib-repack-3.1.jar org\springframework\cglib
生成spring-cglib-repack-3.1.jar
- 同样的执行命令:
jar cvf spring-asm-repack-5.0.4.jar org\springframework\asm
生成spring-asm-repack-5.0.4.jar
好了现在这2个jar都有了,放到spring-core项目里面build\libs路径下,如果没有这个路径就新建一个。
- 现在就不报错了
- 现在就不报错了
接下来改一下class的输出路径,换成直接bin为class输出路径,写一点代码测试一下spring-beans工程。
新建beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<bean id="myTestBean" class="test.MyTestBean">
<property name="name" value="zhangsan"></property>
</bean>
</beans>
MyTestBean.java
package test;
/**
*
* @author Administrator
*/
public class MyTestBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
测试类Test.java:
package test;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
/**
*
* @author Administrator
*/
public class Test {
public static void main(String[] args) {
/**
* 用XmlBeanFactory这个方式获得bean,现在已经不用这个方式了
*/
XmlBeanFactory xmlBeanFactory = new XmlBeanFactory(new ClassPathResource("beans.xml"));
MyTestBean myTestBean = (MyTestBean) xmlBeanFactory.getBean("myTestBean");
System.out.println( myTestBean+ "---"+ myTestBean.getName());
}
}
运行结果和目录结构:
到此spring的基础beans模块已经可以成功运行了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现