如何自动初始化一个调用InetAddress.getLocalHost()的静态变量?

And*_*ili 1 java junit

按照这个简短的教程http://www.rgagnon.com/javadetails/java-0095.html我试图获取我的客户端IP地址.

与教程的唯一区别是我希望我的IP地址放在一个静态变量中,所以我用以下方式做:

private static InetAddress thisIp = InetAddress.getLocalHost();
Run Code Online (Sandbox Code Playgroud)

但是Eclipse给出了以下错误消息:未处理的异常类型UnknownHostException

所以,我认为,问题在于我无法调用此代码:

InetAddress.getLocalHost();
Run Code Online (Sandbox Code Playgroud)

到静态变量,但我首先声明静态变量,然后将其初始化为使用它的每个方法.

我需要它进入JUnit测试的问题,这是非常糟糕的每次初始化所有@test方法!

那么,我该怎么做才能避免在每个测试方法中初始化它?还有一些其他方法只能初始化一次吗?我可以创建一个初始化方法,在运行我的测试类时会自动执行吗?怎么样?

TNX

安德里亚

Mas*_*dul 5

尝试初始化静态块,

private static InetAddress thisIp;

static{
    try {
        thisIp  = InetAddress.getLocalHost();
    } catch (UnknownHostException ex) {

    }
}
Run Code Online (Sandbox Code Playgroud)