使用maven编译Data Integration Tool-Karma时遇到的bug和解决方法。
一.edu.isi.karma.services:entityExtration:jar:0.0.1 was not found.
执行mvn install时,编译失败,提示缺少依赖包。这种情况可能是maven版本与项目所需的不匹配,或者远程仓库里已经没有该版本的依赖包。
解决方法:
- 将本地maven版本和项目所需版本相匹配,karma对maven和JDK的版本有一些要求:Java1.7(1.8也可),Maven要求3.0。
查看本地Maven版本:cmd -> mvn -v,如果显示的不是这样,说明maven的环境变量没有配置正确,需要先配置maven环境变量。
查看idea中该项目的maven是否匹配,File -> Settings -> Maven,如果不匹配,将Maven换成本地Maven版本,karma建议使用Maven3.0(3.1也可以)
配置maven后,再次编译,Build Success! - 若还不行,找到报错的那个jar包,将里面的_remote.repositories删掉,再次编译。karma里的一些依赖包版本比较古老,在仓库里寻找时已经没有了。
二.能够正常编译和启动,访问Jetty服务器时报错503
在根目录下执行mvn clean install后,提示Build Success!进入karma-web,执行mvn jetty:run,启动karma内嵌的Jetty服务器,服务器启动正常:Started Jetty Server。
一切都没问题,打开浏览器访问时却报错503 Service Unavailable。
查找503错误的解决方法,说是Web服务器的问题,尝试修改IIS,未能解决。
您的 Web服务器实际上处于“关闭维修”状态。 它仍然在最低限度地运行, 因为它至少可以响应 503 状态码, 但全面服务是不可能的, 即您的网站不可用。 可能的原因有很多, 但一般来说, 是由于您的 Web服务器操作员的人为干预。 通常您就应知道有人正在努力解决此问题,正常服务将被尽快恢复。
请和您网站的系统操作员联系,以确定为什么服务停止了。
解决方法:
Jetty服务器在正常启动后,通过http://localhost:8080访问时,控制台是会有提示信息的,如下:
报503错误时控制台没有该提示信息,推测是Jetty并没有成功启动。
尝试将Maven的版本从3.8降到3.1,JDK使用1.8,问题解决。