As of r629224 the Ivy build appears broken when using JDK 1.4: compile-core: [javac] Compiling 277 source files to E:\wstmp\ivy\build\classes\core [javac] E:\wstmp\ivy\src\java\org\apache\ivy\plugins\parser\m2\PomReader.java:259: cannot resolve symbol [javac] symbol : class Iterable [javac] location: class org.apache.ivy.plugins.parser.m2.PomReader.PomDependencyData [javac] public Iterable/*<ModuleId>*/ getExcludedModules() { [javac] ^ [javac] E:\wstmp\ivy\src\java\org\apache\ivy\plugins\parser\m2\PomReader.java:176: cannot resolve symbol [javac] symbol : class Iterable [javac] location: class org.apache.ivy.plugins.parser.m2.PomReader [javac] public Iterable/* <PomDependencyData> */ getDependencies() { [javac] ^ [javac] E:\wstmp\ivy\src\java\org\apache\ivy\plugins\parser\m2\PomReader.java:192: cannot resolve symbol [javac] symbol : class Iterable [javac] location: class org.apache.ivy.plugins.parser.m2.PomReader [javac] public Iterable/* <PomDependencyMgt> */ getDependencyMgt() { [javac] ^ [javac] E:\wstmp\ivy\src\java\org\apache\ivy\plugins\parser\m2\PomReader.java:298: cannot resolve symbol [javac] symbol : method getTextContent () [javac] location: interface org.w3c.dom.Element [javac] return node.getTextContent(); [javac] ^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -deprecation for details. [javac] 4 errors
The problem is at the API level which is why <javac source="1.4" target="1.4"/> alone won't catch it. You actually need to compile with a 1.4 JDK to see the problem.