当我试图编译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语句,它的包在其他地方找不到,但是被复制了,因为我从我的另一个项目中复制了这个类。即使错误日志本身并不明确,它也会在错误日志中被列为"未找到包"。我必须搜索日志中生成的所有警告