获取Java SocketException

获取Java SocketException,java,json,socketexception,Java,Json,Socketexception,您好,我想为我的团队开发一个应用程序,但出现以下错误: java.net.SocketException: Address family not supported by protocol family: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocke

您好,我想为我的团队开发一个应用程序,但出现以下错误:

java.net.SocketException: Address family not supported by protocol family: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:606)
    at java.net.Socket.connect(Socket.java:555)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
    at java.net.URL.openStream(URL.java:1067)
    at de.tbprivi.mgde.Home.Home.getEventData(Home.java:37)
    at de.tbprivi.mgde.Home.Home.<init>(Home.java:29)
    at de.tbprivi.mgde.main.Main.main(Main.java:8)
我正在使用org.json.simple库

问题是,如果我只是调用getEventsdata()而不是从我的public static void main()调用Home Home=new Home(),那么它就工作了


提前感谢您的帮助:)

如果调用未使用IPv4堆栈,则会发生这种情况

我想Java选项--
Djava.net.preferIPv4Stack=true
会起作用


如果您正在使用eclipse,请通过jvm程序行参数设置它

搜索我遇到的错误消息。
package de.tbprivi.mgde.Home;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class Home {

 public JFrame frame;
 private JSONParser parser;

 public Home(){

    frame = new JFrame();
    frame.setTitle("Miners-Games.de - TEAM APP");
    frame.setSize(700,500);
    frame.setVisible(true);
    frame.setLocationRelativeTo(null);

    try {
        getEventData();
    } catch (IOException | ParseException e) {
        e.printStackTrace();
    }

 }
 private void getEventData() throws IOException, ParseException {

    Object obj = parser.parse(new InputStreamReader(new URL("http://mylink.com/events.json").openStream()));

    JSONObject file = (JSONObject) obj;

    file.get("events");

  }
}