2011-12-29 34 views
11

Khi tôi cố gắng biên dịch file build.xml, dưới đây lỗi được đánh:Biên dịch không thành công; xem đầu ra lỗi biên dịch để biết chi tiết

BUILD FAILED

C:\Users\workspace\testrepo\src\build.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) 

Ai đó có thể giúp tôi?

+1

đọc kỹ! – mishadoff

+1

Hình như thông báo lỗi thực tế có thể cao hơn chúng ta có thể thấy, tất cả điều này cho chúng ta biết là build.xml đã thất bại ở đâu đó quanh dòng 36, mà tôi đoán là nơi nó cố gắng biên dịch mã nguồn Java của bạn. Phải có điều gì đó sai với mã Java của bạn, bạn có sử dụng một IDE không? – Ewald

+0

Trong nhật ký của tôi, tôi đã có [javac] C: \ Users \ workspace \ testrepo \ src \ testrepo \ testrepoclass.java: 3: error: package org.junit không tồn tại [javac] import org.junit.After – user1121120

Trả lời

5

Có lỗi biên dịch xảy ra sớm hơn trong quá trình xây dựng. Hãy tìm lỗi đó trong cùng một tệp nhật ký đầu ra và cố sửa nó.

+0

Cảm ơn bạn cho câu trả lời. Tôi nhận được một cảnh báo cảnh báo: 'includeantruntime' không được đặt, mặc định là build.sysclasspath = last; được đặt thành false cho các bản dựng có thể lặp lại. Có phải vì cảnh báo đó không ?? – user1121120

+0

Không, đó không phải là vấn đề. – AbdullahC

+0

Trong nhật ký của tôi, tôi đã có [javac] C: \ Users \ workspace \ testrepo \ src \ testrepo \ testrepoclass.java: 3: error: package org.junit không tồn tại [javac] import org.junit.After; – user1121120

0

Nếu bạn đang sử dụng Weblogic để tạo ứng dụng khách, bạn phải thêm "weblogic.jar" từ thư mục cài đặt vào Classpath bổ sung, vì vậy Ant sẽ biết vị trí Ant.tools .... tồn tại.

Tôi gặp vấn đề tương tự và tôi đang cố gắng giải quyết vấn đề này không thêm nó làm classpath bổ sung vì tôi sao chép tất cả các lọ vào dự án của tôi, nhưng vẫn gặp lỗi này.

1

Các giải pháp sau đây làm việc ra tốt cho tôi:

1) Xác định các lớp sau đây:

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) Thêm tham số VM sau: -Dbuild.compiler = somepackage.JDTCompiler15

+0

Cảm ơn đã tiết kiệm thời gian cho tôi: D Cân nhắc việc mở rộng mã này bằng cách: 'boolean isDebug = java.lang.management.ManagementFactory.getRuntimeMXBean(). getInputArgume nts(). toString() .indexOf ("- agentlib: jdwp")> 0; if (isDebug) { logger.debug (cmd.toString()); } ' –

2

Để xem lỗi được biên dịch khi sử dụng nhật ký bên dưới lệnh đã cho:

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

Nó sẽ tạo một bản ghi hoàn chỉnh trong thư mục kiểm tra của bạn. Vì vậy, bây giờ bạn có thể kiểm tra các lỗi thực tế ở đó.

Các vấn đề liên quan