eclipse匯入spring原始碼二(丟失的spring-asm-repack和spring-cglib-repack)
阿新 • • 發佈:2019-02-04
在上一篇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-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模組已經可以成功運行了。