这里主要介绍 neo4j 的源码安装,在 IDEA 中修改和启动。
1. 安装 IntelliJ IDEA
打开 IDEA 官网 https://www.jetbrains.com/idea/ 下载源码
下载完成后解压到 /opt 下:
1 | sudo tar -zxvf ideaIU-2016.3.3-no-jdk.tar.gz -C /opt |
进入到源码目录: cd /opt/idea-xxx/bin
终端输入 ./idea.sh
进行安装。
社区版的不用激活。旗舰版的需要激活:
先修改 host 文件,添加: 0.0.0.0 account.jetbrains.com
0.0.0.0 www.jetbrains.com
然后使用使用激活码:
1 | K71U8DBPNE-eyJsaWNlbnNlSWQiOiJLNzFVOERCUE5FIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMTktMDUtMDQifSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMTktMDUtMDQifSx7ImNvZGUiOiJXUyIsInBhaWRVcFRvIjoiMjAxOS0wNS0wNCJ9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDE5LTA1LTA0In0seyJjb2RlIjoiUkMiLCJwYWlkVXBUbyI6IjIwMTktMDUtMDQifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAxOS0wNS0wNCJ9LHsiY29kZSI6IkRCIiwicGFpZFVwVG8iOiIyMDE5LTA1LTA0In0seyJjb2RlIjoiUk0iLCJwYWlkVXBUbyI6IjIwMTktMDUtMDQifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxOS0wNS0wNCJ9LHsiY29kZSI6IkFDIiwicGFpZFVwVG8iOiIyMDE5LTA1LTA0In0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDE5LTA1LTA0In0seyJjb2RlIjoiR08iLCJwYWlkVXBUbyI6IjIwMTktMDUtMDQifSx7ImNvZGUiOiJQUyIsInBhaWRVcFRvIjoiMjAxOS0wNS0wNCJ9LHsiY29kZSI6IkNMIiwicGFpZFVwVG8iOiIyMDE5LTA1LTA0In0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTktMDUtMDQifSx7ImNvZGUiOiJSU1UiLCJwYWlkVXBUbyI6IjIwMTktMDUtMDQifV0sImhhc2giOiI4OTA4Mjg5LzAiLCJncmFjZVBlcmlvZERheXMiOjAsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-Owt3/+LdCpedvF0eQ8635yYt0+ZLtCfIHOKzSrx5hBtbKGYRPFDrdgQAK6lJjexl2emLBcUq729K1+ukY9Js0nx1NH09l9Rw4c7k9wUksLl6RWx7Hcdcma1AHolfSp79NynSMZzQQLFohNyjD+dXfXM5GYd2OTHya0zYjTNMmAJuuRsapJMP9F1z7UTpMpLMxS/JaCWdyX6qIs+funJdPF7bjzYAQBvtbz+6SANBgN36gG1B2xHhccTn6WE8vagwwSNuM70egpahcTktoHxI7uS1JGN9gKAr6nbp+8DbFz3a2wd+XoF3nSJb/d2f/6zJR8yJF8AOyb30kwg3zf5cWw==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog== |
激活可以参考:https://blog.csdn.net/qq_35246620/article/details/80522720
https://www.douban.com/note/671690598/
https://guobinhit.blog.csdn.net/article/details/89040919
2. 安装 jdk
选择要安装 java 的位置,如 /usr/
目录下,新建java文件夹(mkdir java
)
下载 jdk 文件到 /usr/java
解压:tar -zxvf jdk-xxx.tar.gz
配置环境变量,打开 /etc/profile
,最后面添加如下内容:
1 | JAVA_HOME=/usr/java/jdk-xxxxx |
刷新环境变量:source /etc/profile
验证是否安装成功:java -version
3. 安装 maven
下载源码 apache-maven-xxx-bin.tar.gz
解压: tar zxvf apache-maven-xxx-bin.tar.gz
移动: sudo mv apache-maven-xxx /opt/maven/
配置环境变量,在 /etc/profile
中添加:
1 | export M2_HOME=/opt/maven/apache-maven-xxx |
刷新环境变量: source /etc/profile
测试:mvn -version
4. 安装 Neo4j
参考:https://blog.csdn.net/wgangyiii/article/details/79150315
(1) 从 github 下载源码: https://github.com/neo4j/neo4j/
(2) 进入源码目录执行:mvn clean install
执行 mvn clean install
进行编译导包,如果只使用该命令,则会进行测试代码,是一个非常耗费时间的过程,所以推荐使用 mvn clean install -DskipTest
该命令的意思是不执行测试直接导包编译。使用 -DskipTests
表示不执行测试用例,但编译测试用例类生成相应的 class 文件至 target/test-classes下。使用 -Dmaven.test.skip=true
表示不执行测试用例,也不编译测试用例类。
经常会有一些奇怪的错误,尝试不同的安装命令:
1 | mvn clean install |
有些时候莫名其妙就有用了,说不出来为啥。
(3) 解压编译文件:
编译完成后进入 packaging/standalone/target
里面会有编译好的项目压缩包,名为 neo4j-community-3.5.4-SNAPSHOT-unix.tar.gz
和 neo4j-community-3.5.4-SNAPSHOT-windows.zip
,.tar 是面向 ubuntu 系统的,.zip是面向 windows 系统的,执行解压。
(4) 运行
进入解压后的文件夹,运行 bin/neo4j start
。
浏览器输入 http://localhost:7474 可以看到显示界面。
5. 在 IDEA 中导入 neo4j
IDEA 中导入项目。main 函数在 community/server/src/main/java/org/neo4j/server
中的 CommunityEntryPoint
类中。
配置 application 运行参数:
1 | Main class: org.neo4j.server.CommunityEntryPoint |
该 main 函数需要两个参数,一个是 home-dir
, 这是存放数据库等文件的目录,可以自己设置一个文件夹。另一个是 config-dir
, 这个是配置文件所在的目录,默认的配置文件是 neo4j.conf, 上一步解压的 neo4j-community-3.5.4-SNAPSHOT 的 conf 目录下就有配置文件 neo4j.conf, 那么 config-dir
参数可以设置为 neo4j-community-3.5.4-SNAPSHOT/conf
。
配置文件的设置可以参考官方文档: https://neo4j.com/docs/operations-manual/current/reference/configuration-settings 和 https://neo4j.com/docs/operations-manual/current/configuration/
然后运行 community/server/src/main/java/org/neo4j/server
中的 CommunityEntryPoint
类
有可能会出现报错,提示某些符号找不到(主要是提示scala代码里声明的类找不到),但是在 neo4j 目录下运行 mvn clean
之后,再用 IDEA 编译运行,就不报错了。
有时候还会提示找不到某些类,解决办法,通过搜索找到该类所在的文件,发现该文件左(右)下角有个黄(红)色的j,如果是这样,那么在 file 里打开project structure 找到 modules,找到该文件对应的 modules 其中有个 sources,点击右边第一个×,然后点击下面的 add content root 按钮,重新选择该 modules 的代码。