环境搭建:
安装gradle
git上下载3.2分支源码
进入源码项目目录下执行gradlew :spring-oxm:compileTestJava cleanIdea idea
一定要在项目目录下执行,在模块下执行不可以,会报gradlew 不是内部命令
接着又爆了这个错:
Script ‘F:\spring-framework-3.2.x\spring-oxm\oxm.gradle’ line: 123
- What went wrong:
Execution failed for task ‘:spring-oxm:compileTestJava’.
JiBXException in JiBX binding compilation
按照网上的经验删除了 compileTestJava部分的配置 再次运行gradlew :spring-oxm:compileTestJava cleanIdea idea
接下来,如果不出意外 ,你应该能看到build success的提示了。紧接着将编译好的源码导入IDEA中,File-> open 选择项目工程目录。
然后,我们可以再spring工程目录下再建一个子模块,写我们自己的代码了。可以利用Maven的骨架,我生成了一个springdemo2,为什么是demo2呢,因为第一次折腾环境失败了…
这是我的代码:
package com.pc.springBeanDemo;
public class MyTestBean {
private String testStr = "testSTR";
public String getTestStr() {
return testStr;
}
public void setTestStr(String testStr) {
this.testStr = testStr;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="myTestBean" class="com.pc.springBeanDemo.MyTestBean"></bean>
</beans>
引入spring源码模块:
运行时候可能出现的错误
1、如果没有添加commons-log依赖,报了这个错:Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
需要体检 日志依赖:
commons-logging
commons-logging
1.2
2、如果你还抱了这个错…Exception in thread “main” java.lang.NoClassDefFoundError: org/springframework/asm/ClassVisitor
还需要添加asm的依赖:
org.springframework
spring-asm
3.0.5.RELEASE
3、如果打包自己的代码后,运行出错,找不到你的spring配置文件,注意看下你的pom文件的中是否引入了
<build>
<!-- 这一段idea自动生成的时候可能没有-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
4、无法找到主类App
检查你的IDEA 中run/configuration是否正确。
点击Run —》Edit configurations
最后 package一下,run一下 看到控制台打印出了结果: