0

我们有一个用 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

由于相同的代码和相同的脚本在 2 年前构建得很好,而且我知道 OSX 可以处理他们自己的 Java 版本,我想知道是否有可能一些更新的 OSX 版本的 Java 删除了我们依赖的这个库?

4

1 回答 1

2

不是 ANT 本身,而是 JarBundler ANT 任务似乎已被相对较新的 OS X Java 版本破坏。更新JarBundler应该可以解决这个问题。

(在这里找到)

于 2012-05-30T17:39:10.913 回答