2016-04-08 17 views
0

Bir web sunucusuna bağlantı kurmaya çalışıyorum ve bilgisayarımdan erişilebilir olup olmadığını kontrol ediyorum.Sembol bulamıyor InetAddress.getByAddress()

Error:(20, 50) java: cannot find symbol 
symbol: class getByName 
location: class java.net.InetAddress 

bu yöntem adı yazmaya başladığınızda çünkü garip, Intellij IDEA bana isim öneri listesi ile bir ipucu gösterir: Sorun InetAddress.getByName (adres) kullanmaya denediğimde derleme hatası alıyorum olmasıdır Bu yüzden yanlış PATH değişkeniyle ilgili bir problem yok sanırım. Ve yöntem ismini yazmakla bittiğinde hemen kırmızıya boyar ve "isme göre sembolü çözemez" deyin. Bu arada, InetAddress.isReachible (100), aynı sınıfa yerleştirilmiş olsa bile, böyle bir soruna sahip değildir. Aslında, yalnızca InetAddress.getByAddress(), InetAddress.getLoopbackAddress() vb. Gibi genel statik yöntemlerle sorunu yaşıyorum, eski java sürümünü kullanabileceğimi düşündüm, bu yüzden windows komut satırında java -version yazdım ve

java version "1.8.0_73" 
Java(TM) SE Runtime Environment (build 1.8.0_73-b02) 
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode) 

Ve bu benim kodudur: diyor burada neyi

String url = "http://reddit.com"; 
    byte [] address = url.getBytes(); 
    InetAddress inetAddress = new InetAddress.getByName(address); 
    try { 
     inetAddress.isReachable(100); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
+0

Kütüphanenin yolu kod yazma anda ulaşılabilir değil zamanında olabilir - tüm bağımlılıkları zamanında (sınıf yolunda yani mevcut) dahil olduğunu teyit edebilir - nasılsın programı çalıştırıyor musunuz? IDE'nize nasıl dahil ediyorsunuz? – ochi

+0

Teşekkür ederim, ama sanırım sebebini bulduk. –

cevap

4

yeni çıkarın. Sizin kodu olmalıdır:

InetAddress inetAddress = InetAddress.getByName(address); 
+0

Oh tanrım, bu aptal bir hata! Neyin yanlış olduğunu bulmaya çalışırken 3 saat harcadım. Teşekkürler! –