1.使用的elasticjob版本为3.0.1
2.本机的IPV4在校验isReachable 返回false(可能是使用无线网,导致ip验证问题)
3.最后引入Groovy解决
- 引入包
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.15</version>
</dependency>
- 代码加入启动类
* 屏蔽org.apache.shardingsphere.elasticjob.infra.env.IpUtils.getIp()抛出
* HostException(ip is null) 的异常导致windows本地程序无法启动
*/
private static void shieldElasticjobIpIsNull(){
try {
IpUtils.getIp();
} catch (HostException e) {
//抛出HostException 且 异常信息为 "ip is null" 时,设置ip地址为 0.0.0.0
if("ip is null".equals(e.getMessage())){
String code = "org.apache.shardingsphere.elasticjob.infra.env.IpUtils.cachedIpAddress=\"0.0.0.0\";";
GroovyShell groovy = new GroovyShell();
groovy.evaluate(code);
}
}
}
4.reimport maven clean install 后启动正常