我们有一个跨平台的应用程序,它是用Java编写的,并使用ant脚本构建。这段代码从2010年1月起就没有在Mac上编译过了。最近,我检查了2010年1月的版本,这个版本构建得很好,并尝试构建一个新的工作副本,现在我得到了这个错误:
BUILD FAILED
/Users/Mike/working copies/ASJTestBuild/trunk/build.xml:857: java.lang.NoClassDefFoundError: org/apache/xml/serialize/OutputFormat
at net.sourceforge.jarbundler.PropertyListWriter.writeFile(Unknown Source)
at net.sourceforge.jarbundler.JarBundler.writeInfoPlist(Unknown Source)
at net.sourceforge.jarbundler.JarBundler.execute(Unknown Source)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: org.apache.xml.serialize.OutputFormat
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1361)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1311)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1064)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 19 more由于这段相同的代码和相同的脚本是在两年前构建的,而且我知道OSX可以处理他们自己的Java版本,所以我想知道,是不是某个更新的OSX版本的Java删除了我们所依赖的这个库?
发布于 2012-05-31 01:39:11
不是ANT本身,但Java任务似乎已经被相对较新的OS版本打破了。更新JarBundler应该可以解决这个问题。
(找到here)
https://stackoverflow.com/questions/10821022
复制相似问题