编译失败了;有关详细信息,请参阅编译器错误输出



当我试图编译build.xml文件时,下面的错误是:

构建失败

C:Usersworkspacetestreposrcbuild.xml:36: Compile failed; see the compiler error output for details.
    at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1150)
    at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:912)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    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.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:424)
    at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:138)

谁能帮我一下?

之前在构建过程中发生了一个编译错误。在相同的输出日志文件中查找该错误并尝试修复它。

使用下面的命令查看日志中编译的错误:

d:yourdirectory of checkout>ant clean deploy>log.txt

它将在您的签出目录中创建一个完整的日志。现在你可以检查实际错误了。

下面的解决方案对我很有效:

1)定义以下类:

package somepackage;
import org.apache.tools.ant.taskdefs.Javac;
import org.apache.tools.ant.types.Commandline;
import org.eclipse.jdt.core.JDTCompilerAdapter;
public class JDTCompiler15 extends JDTCompilerAdapter {
    @Override
    public void setJavac(Javac attributes) {
        if (attributes.getTarget() == null) {
                attributes.setTarget("1.6");
        }
        if (attributes.getSource() == null) {
                attributes.setSource("1.6");
        }
        super.setJavac(attributes);
    }
        // THIS METHOD IS RESPONSIBLE FOR PRINGTING THE ERRORS/WARNING.
    @Override
    protected void logAndAddFilesToCompile(Commandline cmd) {
        super.logAndAddFilesToCompile(cmd);
        System.err.println(cmd.toString());
    }
}

2)添加如下VM参数:-Dbuild.compiler=somepackage.JDTCompiler15

如果您使用Weblogic来生成客户端,则必须将安装目录中的" Weblogic .jar"添加到Additional Classpath中,这样Ant将知道Ant.tools....在哪里存在。

我得到了同样的问题,我试图解决这个问题,而不是将其添加为额外的类路径,因为我将所有jar复制到我的项目中,但仍然得到这个错误。

在我的例子中,在一个类中有一个未使用的import语句,它的包在其他地方找不到,但是被复制了,因为我从我的另一个项目中复制了这个类。即使错误日志本身并不明确,它也会在错误日志中被列为"未找到包"。我必须搜索日志中生成的所有警告

相关内容

  • 没有找到相关文章

最新更新