2011-08-21 26 views
6

javac (veya ant görev) kullanıldığında, hata iletisinin tamamı dosya yolunu içermez, yalnızca dosya adını içerir. Örneğin,javac hata iletisi tüm dosya yolunu göstermiyor

$ javac src/path/to/Filename.java 
Filename.java:1: package foo.bar does not exist 
import foo.bar.Baz; 
      ^

Ne istiyorum

$ javac src/path/to/Filename.java 
src/path/to/Filename.java:1: package foo.bar does not exist 
import foo.bar.Baz; 
      ^

Benim sorun tüm dosya yolunu sağlayan değil, sadece dosya adı verilen değilse vim QuickFix çalışmıyor olmasıdır vardır. Sadece dosya adıyla, çalıştırdıktan sonra yeni bir boş dosya açılır: make.

kullanıyorum:

  • Debian hırıltılı
  • OpenJDK-6-jdk v6b23 ~ pre7-1
  • Javac v1.6.0_23
+0

Gcj veya eclipse derleme derleyicisini kullanarak tüm yolun yazdırılacağını buldum. Ancak karınca da bir JAVA_HOME hatası bulamadı. Bunu nasıl çözeceğimi bilmiyorum. –

+0

Bunun% 99 eminim ki bu bir Ubuntu hatasıdır. Az önce FreeBSD'den dizüstü bilgisayarımı Ubuntu 11.10'a çevirdim. FreeBSD sunucumda bir javac hatasıyla tüm yolu görebiliyorum. Hala çözüm arıyor ... – sarumont

cevap

1

Orada sanmıyorum Bunu yapmak için basit bir yoldur. Bununla birlikte, karmaşık bir yol olduğuna inanıyorum. Temel olarak, bir JDK yüklemesinin çalışan derleyicinin içindeki Java derleyicisini yükleme ve çalıştırma yeteneğini kullanan kendi derleyici çalıştırıcınızı yazmayı içerir. Çok fazla şey uygulamanız gerekir, ancak önemli olan, derleyici hata mesajlarını biçimlendirilmeleri için ihtiyaç duyduğunuz şekilde biçimlendiren bir teşhis işlemcisidir. örneğin bir programdan çağrılabilir araçlarını, derleyicileri için arabirimler sunar -

  • Package javax.tools: Burada

    ilgili bazı bağlantılar vardır.
  • JavaCompiler - derleyici
  • FileObject tarafından uygulanan arayüz - derleyici kaynak dosyalarını temsil etmek kullandığı arayüz; Örneğin. teşhiste. toUri() yöntemini not edin!