1、源碼獲取
git clone https://github.com/apache/cassandra.git
git checkout -b 3.11 origin/cassandra-3.11
2、可配置maven倉庫和本地路徑:build.xml和build.properties.default
- build.xml
<target name="generate-cql-html" depends="maven-ant-tasks-init" description="Generate HTML from textile source">
<artifact:dependencies pathId="wikitext.classpath"
settingsFile="maven庫的settings配置文件路徑">
...
</target>
- build.properties.default
# Maven2 Repository Locations (you can override these in "build.properties" to point to a local proxy, e.g. Nexus)
# 可將下面替換為自己的maven庫
artifact.remoteRepository.central: http://repo1.maven.org/maven2
artifact.remoteRepository.apache: http://repo.maven.apache.org/maven2
- 以上配置可參考: Maven Ant Tasks插件官方文檔
3、構(gòu)建
- 本地下載安裝 Apache Ant,配置環(huán)境變量
- 至Cassandra源碼路徑下,執(zhí)行
ant build。 - 構(gòu)建成功后,再執(zhí)行:
ant.bat generate-eclipse-files,會生成eclipse工程文件(IDEA執(zhí)行:ant generate-idea-files) - 打開Eclipse,導入Cassandra源碼:
File->Import->General->Existing Projects into Workspace - 配置主函數(shù)參數(shù):
- Run/Debug configurations
Project:
? Cassandra
Main Class:
? org.apache.cassandra.service.CassandraDaemon
- Debug參數(shù),主要是設置VM參數(shù)
-ea -javaagent:${project_loc:Cassandra}/lib/jamm-0.3.0.jar
-XX:+UseThreadPriorities
-XX:ThreadPriorityPolicy=4
-Xms150M
-Xmx1000M
-Xmn188M
-XX:+HeapDumpOnOutOfMemoryError
-Xss200k
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=1
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.net.preferIPv4Stack=true
-Dcom.sun.management.jmxremote.port=7199 -- 運行nodetool使用的默認端口
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
- 配置Eclipse控制臺輸出日志:
運行時配置主要在test/conf 下,logback.xml。具體可參考Cassandra部署下conf內(nèi)的logback.xml配置。改為控制臺輸出即可。
至此,運行配置全部完成