Bir kaynak dosyayı derlemek için javax.tools.JavaCompiler
(jdk6) sınıfını kullanıyorum, ancak kaynak dosya bazı jar dosyasına bağlı. javax.tools.JavaCompiler
sınıf yolu nasıl ayarlanır?javax.tools.JavaCompiler'i kaynak derlediğimde sınıf yolu nasıl ayarlanır?
cevap
javax.tools.JavaCompiler#getTask() yöntemi, derleyici seçeneklerini ayarlamanıza olanak sağlayan options
parametresini alır. - Eğer derleyici kullanmak Sen kavanoz dosyaları (ler) hakkında bilmek standart java dosya yöneticisi yapılandırmanız gerekir
: Aşağıdaki message çağıran programın sınıf yolunu erişmek için bunları ayarlamak için kolay bir yol tarif eder Bunu yapmak için seçenek argümanı. Varsayılan olarak
java derleyici nesne sadece varsayılan hakkında bootclasspath için yerleri biliyor gibi görünüyor, terimlerin kendi sınıf yolunda bir içinde ve endorseddirs dizinleri extdirs.
Sen java derleyici çağıran programın akım sınıf yolunu eklemeniz gerekir örneği en üzerinde sonra kavanoz dosyalarında sınıfları bulacaksınız standart dosya yöneticisi, iletilir hangi. İşte
Ben the compiler wrapper I wrote
List<String> optionList = new ArrayList<String>(); // set compiler's classpath to be same as the runtime's optionList.addAll(Arrays.asList("-classpath",System.getProperty("java.class.path"))); // any other options you want optionList.addAll(Arrays.asList(options)); JavaCompiler.CompilationTask task = compiler.getTask(out,jfm,diagnostics,optionList,null,jfos);
sonra gerekir Tüm arama programı çalıştırırken doğru sınıf yolu setini elde etmektir bu işler nasıl bu.
Son zamanlarda da aynı sorun oluştu, sonunda iki geçici çözüm buldum. Sen veya Compiler.getTask (ARG_0, ARG_1, ARG_2, CLASS_PATH_OPTIONS, burada yayınlanan ilk cevap dediği gibi StandardJavaFileManager.setLocation çağırmak yoluyla (StandardLocation.CLASS_PATH, "YOUR_CLASS_PATH") sınıfı yolunu ayarlayabilirsiniz.
Bunu işe almak için 'StandardJavaFileManager.setLocation (StandardLocation.CLASS_PATH, Arrays.asList (new File (classpath))); –
- 1. Sınıf başlatıcısında birleşim nasıl ayarlanır?
- 2. Chrome'da kaynak görüntülerken favicon nasıl ayarlanır?
- 3. Android Galeri Görünümü - Kaynak nasıl ayarlanır?
- 4. Sınıf yükleyiciden sınıf yolu nasıl alınır?
- 5. Özel sınıf yükleyicim varsayılan olarak nasıl ayarlanır?
- 6. Sınıf isimleri dinamik olarak nasıl ayarlanır?
- 7. Bir sınıf yönteminden örnek değişken nasıl ayarlanır?
- 8. Groovy'de sınıf yolu nasıl alınır?
- 9. önyükleme sınıf yolu
- 10. Java sınıf yolu
- 11. Java'da son dizelerin birleştirilmesi nasıl yapılır? Bu snippet'i derlediğimde
- 12. CSS sınıf adı LessCSS'de dinamik olarak nasıl ayarlanır?
- 13. org.springframework.beans.factory.BeanCreationException: Sınıf yolu kaynağında
- 14. Maven gölgesi eklentisinde manifest sınıf yolu nasıl ayarlanır? Ben gölge eklentisi ve her şeyi kullanıyorum
- 15. Qt qrc kaynak yolu çalışmıyor
- 16. Sonar Server'da birden çok kaynak konumu nasıl ayarlanır?
- 17. Android Studio projesinde Java kitaplığının kaynak sürümü nasıl ayarlanır
- 18. IntelliJ: Kaynak bulunamadığında bile, kaynak ayrıştırıldıklarında sınıf sökme işleminin kaynak gösterilemediğini gösterir.
- 19. Asp.Net 5 sınıf kitaplığında kaynak olarak resim
- 20. Eclipse'de sınıf yolu girişi eksik
- 21. Angular UI'de akordeon başlığı sınıf/stil nasıl ayarlanır
- 22. Kaynak Dosyaya İlişkin WiX Göreli Yolu
- 23. Jackson Databind sınıf yolu sorunu
- 24. Ubuntu sistem yolu hangi dosyada ayarlanır?
- 25. Java posta ile birden çok dönüş yolu nasıl ayarlanır?
- 26. Sınıf için bir örnek oluşturma? Tamsayı sınıfının kaynak kodu baktığımızda
- 27. "Git kümesi" nasıl ayarlanır
- 28. URLWithString döner kaynak yolu için nil - iphone
- 29. Dinamik kaynak ile bağlama ve yolu belirleme
- 30. XS'imi Perl 5.10 ile derlediğimde neden "tanımlanmamış başvuru" hataları alıyorum?
Satheesh yayınlanmıştır Bu bir cevap olarak, "Eğer derleyici sarıcı (link çalışmaz) paylaşmak mümkün olacak." –
bu yazı için bir değirmen teşekkürler, bu çağlar için mücadele ve bu cevap oldu ... şerefe :) – flexinIT
BTW, 'JavaCompiler'in classpath' seçeneği joker karakterlerini" anlamıyor ". Yani her "jar", doğrudan bu dizgeye eklemelisiniz. – Andremoniy