2012-01-15 102 views
2

我很难在Intellij中设置springframework代码。Idea Intellij中的springframework源代码

我git从github克隆了springframework项目,并运行ant任务将所有库导入ivy-cache目录。 我找到了intellij项目的“spring-framework.ipr”文件,并打开它。 不幸的是,一些库没有正确映射到jar文件或丢失。所以我无法编译IDE中的代码库。

我也尝试导入为intellij eclipse项目。 jar文件引用似乎没问题。 但OXM模块中存在编译错误。一些测试类引用了自动生成的类,例如“〜.samples.flight.FlightDocument”,“〜.jaxb.test.FlightType”,并且它们不存在(ant测试目标在目标目录中生成它们)。 在STS中似乎也出现了同样的问题。

我引用这个博客帖子: http://blog.springsource.org/2009/03/03/building-spring-3/

中的IntelliJ什么好主意设置春天代码?
我使用intellij v11。

的Git分支:3.1.X
git的承诺:e8fc90ce3e4554f14eaa86ce05591249d3fe62fa

编译错误例如:

.../org.springframework.oxm/src/test/java/org/springframework/oxm/xmlbeans/XmlBeansMarshaller Tests.java 

Error:(29,42) package org.springframework.samples.flight does not exist 
Error:(30,42) package org.springframework.samples.flight does not exist 
Error:(44,9) cannot find symbol class FlightsDocument 
Error:(44,58) package FlightsDocument does not exist 
.... 

感谢,

+0

更好地添加到您遇到的错误的问题。 – yair 2012-01-15 07:05:43

+0

为什么不只是将目标目录中生成的代码的路径添加到源路径中? – jackrabbit 2012-01-15 07:50:55

回答

1

问题就迎刃而解了。

“spring-framework.ipr”是intellij的一个。

教训:

  • 的JUnit的完全错误的版本在弹簧framework.ipr文件引用。
  • 当ant build测试失败时,后续模块将不会建立。所以,所需的库不会被下载到ivy-cache/repository中。
  • “蚁罐子”的目标将无法下载测试相关的库,因为目标不运行测试

通过了所有的测试和手动固定JUnit的引用之后,最后的IntelliJ没有错误。

+0

很高兴你能解决它。我们很快会对Spring的构建系统进行重大更新,并将其转移到Gradle。您是否有兴趣帮助确保这是一个平稳过渡,即在IDEA中进行测试?你可以通过vmware.com在cbeams上找到我。 – 2012-01-18 09:08:46