ubuntu16.04 安装graphhopper 遇到的问题分析
1.正常步骤:
https://github.com/graphhopper/graphhopper/blob/master/docs/web/quickstart.md
如上面页面所述分别下载 china-latest.osm.pbf(osm地图数据包),config-example.yml ,graphhopper-web-0.13.0.jar 三个文件 放入同一文件夹中(方便后续执行命令)
在此文件夹下执行
java -Xmx1g -Xms1g -Dgraphhopper.datareader.file=china-latest.osm.pbf -jar graphhopper-web-0.13.0.jar server config-example.yml
经多台不同系统机器测试 均报同一错误
2.于是用另一种源码的方法
首先安装git
apt-get install git
然后如果按照官方步骤
git clone git://github.com/graphhopper/graphhopper.git
cd graphhopper
cd web/src/main/resources/ && ZFILE=/tmp/gh.jar && wget -O $ZFILE "https://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.graphhopper&a=graphhopper-web&v=LATEST" && unzip $ZFILE assets/js/main.js && rm $ZFILE && cd ../../../..
./graphhopper.sh -a web -i europe_germany_berlin.pbf
执行的话因为需要下载很多依赖而卡住,所以我选择先下载在win10下 然后测试成功,再上传graphhopper包到服务器
执行命令
./graphhopper.sh web china-latest.osm.pbf
报错
-bash: ./graphhopper.sh: /bin/bash^M: bad interpreter: No such file or directory
解决办法
sed -i 's/\r$//' ./graphhopper.sh #解决linux 跟Windows 对于换行符不同的区别
再执行
./graphhopper.sh web china-latest.osm.pbf
如果不成功可能是因为解析的地图数据过大导致内存溢出发生错误:
export JAVA_OPTS="-Xmx2g -Xms2g"
加大内存即可