<!DOCTYPE html>
<html>
  



<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages.
">
  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
  <meta name="robots" content="index,follow" />
  <meta name="language" content="en" />  

  <title>Documentation</title>

  <link rel="canonical" href="http://cassandra.apache.org/doc/3.10/development/ide.html">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
  <link rel="stylesheet" href="./../../../css/style.css">
  
  <link rel="stylesheet" href="./../../../css/sphinx.css">
  

   <link rel="top" title="Apache Cassandra Documentation v3.10" href="../index.html"/> <link rel="up" title="Cassandra Development" href="index.html"/> <link rel="next" title="Testing" href="testing.html"/> <link rel="prev" title="Cassandra Development" href="index.html"/> 
</head>

  <body>
    <!-- breadcrumbs -->
<div class="topnav">
  <div class="container breadcrumb-container">
    <ul class="breadcrumb">
      <li>
        <div class="dropdown">
          <img class="asf-logo" src="./../../../img/asf_feather.png" />
          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
            <li><a href="http://www.apache.org">Apache Homepage</a></li>
            <li><a href="http://www.apache.org/licenses/">License</a></li>
            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
            <li><a href="http://www.apache.org/security/">Security</a></li>
          </ul>
        </div>
      </li>

      
      <li><a href="./../../../">Apache Cassandra</a></li>
      

      
        
        <li><a href="./../../../doc">Documentation</a></li>
        
      

      
      <li><a href="./">Cassandra Development</a></li>
      

      
      <li>Building and IDE Integration</li>
      
    </ul>
  </div>

  <!-- navbar -->
  <nav class="navbar navbar-default navbar-static-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
      </div><!-- /.navbar-header -->

      <div id="cassandra-menu" class="collapse navbar-collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="./../../../">Home</a></li>
          <li><a href="./../../../download/">Download</a></li>
          <li><a href="./../../../doc/">Documentation</a></li>
          <li><a href="./../../../community/">Community</a></li>
        </ul>
      </div><!-- /#cassandra-menu -->

      
    </div>
  </nav><!-- /.navbar -->
</div><!-- /.topnav -->

    <div class="container-fluid">
  <div class="row">
    <div class="col-md-2">
      <div class="doc-navigation">
        <div class="doc-menu" role="navigation">
          <div class="navbar-header">
            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          </div>
          <div class="navbar-collapse collapse sidebar-navbar-collapse">
            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
              <div class="form-group">
                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </div>
            </form>
            
            
            
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Cassandra Development</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Building and IDE Integration</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#building-from-source">Building From Source</a></li>
<li class="toctree-l3"><a class="reference internal" href="#setting-up-cassandra-in-intellij-idea">Setting up Cassandra in IntelliJ IDEA</a></li>
<li class="toctree-l3"><a class="reference internal" href="#setting-up-cassandra-in-eclipse">Setting up Cassandra in Eclipse</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="patches.html">Contributing Code Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="code_style.html">Code Style</a></li>
<li class="toctree-l2"><a class="reference internal" href="how_to_review.html">Review Checklist</a></li>
<li class="toctree-l2"><a class="reference internal" href="how_to_commit.html">How-to Commit</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs and Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
            
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>
    <div class="col-md-8">
      <div class="content doc-content">
        <div class="container">
          
  <div class="section" id="building-and-ide-integration">
<h1>Building and IDE Integration<a class="headerlink" href="#building-and-ide-integration" title="Permalink to this headline">¶</a></h1>
<div class="section" id="building-from-source">
<h2>Building From Source<a class="headerlink" href="#building-from-source" title="Permalink to this headline">¶</a></h2>
<p>Getting started with Cassandra and IntelliJ IDEA or Eclipse is simple, once you manage to build Cassandra from source using <a class="reference external" href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a>, <a class="reference external" href="https://git-scm.com/">Git</a> and <a class="reference external" href="http://ant.apache.org/">Ant</a>.</p>
<p>The source code for Cassandra is shared through the central Apache Git repository and organized by different branches. You can access the code for the current development branch through git as follows:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">cassandra</span><span class="o">.</span><span class="n">git</span> <span class="n">cassandra</span><span class="o">-</span><span class="n">trunk</span>
</pre></div>
</div>
<p>Other branches will point to different versions of Cassandra. Switching to a different branch requires checking out the branch by its name:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">checkout</span> <span class="n">cassandra</span><span class="o">-</span><span class="mf">3.0</span>
</pre></div>
</div>
<p>You can get a list of available branches with <code class="docutils literal"><span class="pre">git</span> <span class="pre">branch</span></code>.</p>
<p>Finally build Cassandra using ant:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">ant</span>
</pre></div>
</div>
<p>This may take a significant amount of time depending on whether artifacts have to be downloaded and the number of classes that need to be compiled.</p>
<div class="admonition hint">
<p class="first admonition-title">Hint</p>
<p class="last">You can setup multiple working trees for different Cassandra versions from the same repository using <a class="reference external" href="https://git-scm.com/docs/git-worktree">git-worktree</a>.</p>
</div>
</div>
<div class="section" id="setting-up-cassandra-in-intellij-idea">
<h2>Setting up Cassandra in IntelliJ IDEA<a class="headerlink" href="#setting-up-cassandra-in-intellij-idea" title="Permalink to this headline">¶</a></h2>
<p><a class="reference external" href="https://www.jetbrains.com/idea/">IntelliJ IDEA</a> by JetBrains is one of the most popular IDEs for Cassandra and Java development in general. The Community Edition is provided as a free download with all features needed to get started developing Cassandra.</p>
<div class="section" id="setup-cassandra-as-a-project-c-2-1-and-newer">
<h3>Setup Cassandra as a Project (C* 2.1 and newer)<a class="headerlink" href="#setup-cassandra-as-a-project-c-2-1-and-newer" title="Permalink to this headline">¶</a></h3>
<p>Since 2.1.5, there is a new ant target: <code class="docutils literal"><span class="pre">generate-idea-files</span></code>. Please see our <a class="reference external" href="https://wiki.apache.org/cassandra/RunningCassandraInIDEA">wiki</a> for instructions for older Cassandra versions.</p>
<p>Please clone and build Cassandra as described above and execute the following steps:</p>
<ol class="arabic simple">
<li>Once Cassandra is built, generate the IDEA files using ant:</li>
</ol>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">ant</span> <span class="n">generate</span><span class="o">-</span><span class="n">idea</span><span class="o">-</span><span class="n">files</span>
</pre></div>
</div>
<ol class="arabic simple" start="2">
<li>Start IDEA</li>
<li>Open the IDEA project from the checked out Cassandra directory using the menu item Open in IDEA&#8217;s File menu</li>
</ol>
<p>The project generated by the ant task <code class="docutils literal"><span class="pre">generate-idea-files</span></code> contains nearly everything you need to debug Cassandra and execute unit tests.</p>
<blockquote>
<div><ul class="simple">
<li>Run/debug defaults for JUnit</li>
<li>Run/debug configuration for Cassandra daemon</li>
<li>License header for Java source files</li>
<li>Cassandra code style</li>
<li>Inspections</li>
</ul>
</div></blockquote>
</div>
</div>
<div class="section" id="setting-up-cassandra-in-eclipse">
<h2>Setting up Cassandra in Eclipse<a class="headerlink" href="#setting-up-cassandra-in-eclipse" title="Permalink to this headline">¶</a></h2>
<p>Eclipse is a popular open source IDE that can be used for Cassandra development. Various Eclipse environments are available from the <a class="reference external" href="https://www.eclipse.org/downloads/eclipse-packages/">download page</a>. The following guide was created with &#8220;Eclipse IDE for Java Developers&#8221;.</p>
<p>These instructions were tested on Ubuntu 16.04 with Eclipse Neon (4.6) using Cassandra 2.1, 2.2 and 3.x.</p>
<div class="section" id="project-settings">
<h3>Project Settings<a class="headerlink" href="#project-settings" title="Permalink to this headline">¶</a></h3>
<p><strong>It is important that you generate the Eclipse files with Ant before trying to set up the Eclipse project.</strong></p>
<blockquote>
<div><ul class="simple">
<li>Clone and build Cassandra as described above.</li>
<li>Run <code class="docutils literal"><span class="pre">ant</span> <span class="pre">generate-eclipse-files</span></code> to create the Eclipse settings.</li>
<li>Start Eclipse.</li>
<li>Select <code class="docutils literal"><span class="pre">File-&gt;Import-&gt;Existing</span> <span class="pre">Projects</span> <span class="pre">into</span> <span class="pre">Workspace-&gt;Select</span> <span class="pre">git</span> <span class="pre">directory</span></code>.</li>
<li>Make sure &#8220;cassandra-trunk&#8221; is recognized and selected as a project (assuming you checked the code out into the folder cassandra-trunk as described above).</li>
<li>Confirm &#8220;Finish&#8221; to have your project imported.</li>
</ul>
</div></blockquote>
<p>You should now be able to find the project as part of the &#8220;Package Explorer&#8221; or &#8220;Project Explorer&#8221; without having Eclipse complain about any errors after building the project automatically.</p>
</div>
<div class="section" id="unit-tests">
<h3>Unit Tests<a class="headerlink" href="#unit-tests" title="Permalink to this headline">¶</a></h3>
<p>Unit tests can be run from Eclipse by simply right-clicking the class file or method and selecting <code class="docutils literal"><span class="pre">Run</span> <span class="pre">As-&gt;JUnit</span> <span class="pre">Test</span></code>. Tests can be debugged this way as well by defining breakpoints (double-click line number) and selecting <code class="docutils literal"><span class="pre">Debug</span> <span class="pre">As-&gt;JUnit</span> <span class="pre">Test</span></code>.</p>
<p>Alternatively all unit tests can be run from the command line as described in <a class="reference internal" href="testing.html"><span class="doc">Testing</span></a></p>
</div>
<div class="section" id="debugging-cassandra-using-eclipse">
<h3>Debugging Cassandra Using Eclipse<a class="headerlink" href="#debugging-cassandra-using-eclipse" title="Permalink to this headline">¶</a></h3>
<p>There are two ways how to start and debug a local Cassandra instance with Eclipse. You can either start Cassandra just as you normally would by using the <code class="docutils literal"><span class="pre">./bin/cassandra</span></code> script and connect to the JVM through <a class="reference external" href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/introclientissues005.html">remotely</a> from Eclipse or start Cassandra from Eclipse right away.</p>
<div class="section" id="starting-cassandra-from-command-line">
<h4>Starting Cassandra From Command Line<a class="headerlink" href="#starting-cassandra-from-command-line" title="Permalink to this headline">¶</a></h4>
<blockquote>
<div><ul class="simple">
<li>Set environment variable to define remote debugging options for the JVM:
<code class="docutils literal"><span class="pre">export</span> <span class="pre">JVM_EXTRA_OPTS=&quot;-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414&quot;</span></code></li>
<li>Start Cassandra by executing the <code class="docutils literal"><span class="pre">./bin/cassandra</span></code></li>
</ul>
</div></blockquote>
<p>Afterwards you should be able to connect to the running Cassandra process through the following steps:</p>
<p>From the menu, select <code class="docutils literal"><span class="pre">Run-&gt;Debug</span> <span class="pre">Configurations..</span></code></p>
<img alt="../_images/eclipse_debug0.png" src="../_images/eclipse_debug0.png" />
<p>Create new remote application</p>
<img alt="../_images/eclipse_debug1.png" src="../_images/eclipse_debug1.png" />
<p>Configure connection settings by specifying a name and port 1414</p>
<img alt="../_images/eclipse_debug2.png" src="../_images/eclipse_debug2.png" />
<p>Afterwards confirm &#8220;Debug&#8221; to connect to the JVM and start debugging Cassandra!</p>
</div>
<div class="section" id="starting-cassandra-from-eclipse">
<h4>Starting Cassandra From Eclipse<a class="headerlink" href="#starting-cassandra-from-eclipse" title="Permalink to this headline">¶</a></h4>
<p>Cassandra can also be started directly from Eclipse if you don&#8217;t want to use the command line.</p>
<p>From the menu, select <code class="docutils literal"><span class="pre">Run-&gt;Run</span> <span class="pre">Configurations..</span></code></p>
<img alt="../_images/eclipse_debug3.png" src="../_images/eclipse_debug3.png" />
<p>Create new application</p>
<img alt="../_images/eclipse_debug4.png" src="../_images/eclipse_debug4.png" />
<p>Specify name, project and main class <code class="docutils literal"><span class="pre">org.apache.cassandra.service.CassandraDaemon</span></code></p>
<img alt="../_images/eclipse_debug5.png" src="../_images/eclipse_debug5.png" />
<p>Configure additional JVM specific parameters that will start Cassandra with some of the settings created by the regular startup script. Change heap related values as needed.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">-</span><span class="n">Xms1024M</span> <span class="o">-</span><span class="n">Xmx1024M</span> <span class="o">-</span><span class="n">Xmn220M</span> <span class="o">-</span><span class="n">Xss256k</span> <span class="o">-</span><span class="n">ea</span> <span class="o">-</span><span class="n">XX</span><span class="p">:</span><span class="o">+</span><span class="n">UseThreadPriorities</span> <span class="o">-</span><span class="n">XX</span><span class="p">:</span><span class="n">ThreadPriorityPolicy</span><span class="o">=</span><span class="mi">42</span> <span class="o">-</span><span class="n">XX</span><span class="p">:</span><span class="o">+</span><span class="n">UseParNewGC</span> <span class="o">-</span><span class="n">XX</span><span class="p">:</span><span class="o">+</span><span class="n">UseConcMarkSweepGC</span> <span class="o">-</span><span class="n">XX</span><span class="p">:</span><span class="o">+</span><span class="n">CMSParallelRemarkEnabled</span> <span class="o">-</span><span class="n">XX</span><span class="p">:</span><span class="o">+</span><span class="n">UseCondCardMark</span> <span class="o">-</span><span class="n">javaagent</span><span class="p">:</span><span class="o">./</span><span class="n">lib</span><span class="o">/</span><span class="n">jamm</span><span class="o">-</span><span class="mf">0.3</span><span class="o">.</span><span class="mf">0.</span><span class="n">jar</span> <span class="o">-</span><span class="n">Djava</span><span class="o">.</span><span class="n">net</span><span class="o">.</span><span class="n">preferIPv4Stack</span><span class="o">=</span><span class="n">true</span>
</pre></div>
</div>
<img alt="../_images/eclipse_debug6.png" src="../_images/eclipse_debug6.png" />
<p>Now just confirm &#8220;Debug&#8221; and you should see the output of Cassandra starting up in the Eclipse console and should be able to set breakpoints and start debugging!</p>
</div>
</div>
</div>
</div>



          
          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
            
            <a href="testing.html" class="btn btn-default pull-right " role="button" title="Testing" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
            
            
            <a href="index.html" class="btn btn-default" role="button" title="Cassandra Development" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
            
          </div>
          
        </div>
      </div>
    </div>
    <div class="col-md-2">
    </div>
  </div>
</div>

    <footer>
  <div class="container">
    <div class="col-md-4 social-blk">
      <span class="social">
        <a href="https://twitter.com/cassandra"
           class="twitter-follow-button"
           data-show-count="false" data-size="large">Follow @cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
           class="twitter-hashtag-button"
           data-size="large"
           data-related="ApacheCassandra">Tweet #cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
      </span>
    </div>

    <div class="col-md-8 trademark">
      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
      <p>
    </div>
  </div><!-- /.container -->
</footer>

<!-- Javascript. Placed here so pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="./../../../js/underscore-min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>


<script src="./../../../js/doctools.js"></script>
<script src="./../../../js/searchtools.js"></script>

 <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: "" }; </script> 

<script type="text/javascript">
$(function() {
    // Stick the #nav to the top of the window
    var nav = $('.doc-navigation');
    var navHomeY = nav.offset().top;
    var isFixed = false;
    var $w = $(window);
    $w.scroll(function() {
        var scrollTop = $w.scrollTop();
        var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10;
        if (shouldBeFixed && !isFixed) {
            nav.css({
                position: 'fixed',
                top: 0,
                left: nav.offset().left,
                width: nav.width(),
            });
            nav.addClass('fixed-navigation');
            isFixed = true;
        }
        else if (!shouldBeFixed && isFixed)
        {
            nav.css({
                position: 'static'
            });
            nav.removeClass('fixed-navigation');
            isFixed = false;
        }
    });
});
</script>


<script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

  try {
    var pageTracker = _gat._getTracker("UA-11583863-1");
    pageTracker._trackPageview();
  } catch(err) {}
</script>


  </body>
</html>
