awips2/dev/awips-development-environment/index.html
2021-05-20 16:59:28 +00:00

1236 lines
No EOL
33 KiB
HTML

<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Documentation for all things AWIPS.">
<link rel="canonical" href="http://unidata.github.io/awips2/dev/awips-development-environment/">
<meta name="author" content="support-awips@unidata.ucar.edu">
<link rel="shortcut icon" href="../../images/favicon.ico">
<meta name="generator" content="mkdocs-0.17.5, mkdocs-unidata-1.5.4">
<title>Development - Unidata AWIPS User Manual</title>
<script src="../../assets/javascripts/modernizr-56ade86843.js"></script>
<link rel="stylesheet" href="../../assets/stylesheets/application-b1a1975878.css">
<link rel="stylesheet" href="../../assets/stylesheets/application-f78e5cb881.palette.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="../../css/extra.css">
</head>
<body data-md-color-primary="blue-grey" data-md-color-accent="light-blue">
<svg class="md-svg">
<defs>
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
<label class="md-overlay" data-md-component="overlay" for="drawer"></label>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
<a href="../.."><div class="background-logo" style="background-image: url(../../images/cave.png);"></div>
<div class="md-flex">
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="Unidata AWIPS User Manual" class="md-icon md-icon--home md-header-nav__button">
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<span class="md-flex__ellipsis md-header-nav__title">
Development
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="search"></label>
<div class="md-search__inner">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" required placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query">
<label class="md-icon md-search__icon" for="search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset">&#xE5CD;</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="result" data-md-lang-search="" data-md-lang-tokenizer="[\s\-]+">
<div class="md-search-result__meta" data-md-lang-result-none="No matching documents" data-md-lang-result-one="1 matching document" data-md-lang-result-other="# matching documents">
Type to start searching
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
<a href="https://github.com/Unidata/awips2/" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container">
<main class="md-main">
<div class="md-main__inner md-grid" data-md-component="container">
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="drawer">
<div class="md-nav__button md-logo">
<i class="md-icon md-icon--home"></i>
</div>
Unidata AWIPS User Manual
</label>
<div class="md-nav__source">
<a href="https://github.com/Unidata/awips2/" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." title="Home" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../../install/install-cave/" title="Install CAVE" class="md-nav__link">
Install CAVE
</a>
</li>
<li class="md-nav__item">
<a href="../../install/install-edex/" title="Install EDEX" class="md-nav__link">
Install EDEX
</a>
</li>
<li class="md-nav__item">
<a href="../../install/common-problems/" title="Common Problems" class="md-nav__link">
Common Problems
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
<label class="md-nav__link" for="nav-5">
CAVE User Manual
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-5">
CAVE User Manual
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../cave/d2d-perspective/" title="D2D Perspective" class="md-nav__link">
D2D Perspective
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/maps-views-projections/" title="Maps, Views, Projections" class="md-nav__link">
Maps, Views, Projections
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/bundles-and-procedures/" title="Bundles and Procedures" class="md-nav__link">
Bundles and Procedures
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/localization-perspective/" title="Localization Perspective" class="md-nav__link">
Localization Perspective
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/nsharp/" title="NSHARP" class="md-nav__link">
NSHARP
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/warngen/" title="WarnGen Walkthrough" class="md-nav__link">
WarnGen Walkthrough
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/goes-16-satellite/" title="GOES 16/17" class="md-nav__link">
GOES 16/17
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-gridded-models/" title="Volume Browser" class="md-nav__link">
Volume Browser
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-tools/" title="Display Tools" class="md-nav__link">
Display Tools
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-radar-tools/" title="Radar Tools" class="md-nav__link">
Radar Tools
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-edit-menus/" title="Editing Menus" class="md-nav__link">
Editing Menus
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/cave-localization/" title="Change Localization" class="md-nav__link">
Change Localization
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/import-export/" title="Import/Export" class="md-nav__link">
Import/Export
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
<label class="md-nav__link" for="nav-6">
EDEX User Manual
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-6">
EDEX User Manual
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../install/start-edex/" title="EDEX Basic Commands" class="md-nav__link">
EDEX Basic Commands
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/settings/" title="EDEX Settings" class="md-nav__link">
EDEX Settings
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/distributed-computing/" title="Distributed EDEX" class="md-nav__link">
Distributed EDEX
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/edex-ingest-docker-container/" title="Docker EDEX" class="md-nav__link">
Docker EDEX
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/ldm/" title="LDM Feeds" class="md-nav__link">
LDM Feeds
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/data-distribution-files/" title="Data Distribution Files" class="md-nav__link">
Data Distribution Files
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/new-grid/" title="Ingest a New Grid" class="md-nav__link">
Ingest a New Grid
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/data-purge/" title="Purging and Retention" class="md-nav__link">
Purging and Retention
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/edex-users/" title="Monitor Users" class="md-nav__link">
Monitor Users
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/data-plugins/" title="Data Plugins" class="md-nav__link">
Data Plugins
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/case-studies/" title="Archive Case Studies" class="md-nav__link">
Archive Case Studies
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../python/overview/" title="Python-AWIPS" class="md-nav__link">
Python-AWIPS
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
<label class="md-nav__link md-nav__link--active" for="toc">
Development
</label>
<a href="./" title="Development" class="md-nav__link md-nav__link--active">
Development
</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1-remove-awips-instances" title="1. Remove AWIPS Instances" class="md-nav__link">
1. Remove AWIPS Instances
</a>
</li>
<li class="md-nav__item">
<a href="#2-set-up-awips-repo" title="2. Set Up AWIPS Repo" class="md-nav__link">
2. Set Up AWIPS Repo
</a>
</li>
<li class="md-nav__item">
<a href="#3-install-the-ade" title="3. Install the ADE" class="md-nav__link">
3. Install the ADE
</a>
</li>
<li class="md-nav__item">
<a href="#4-download-the-source-code" title="4. Download the Source Code" class="md-nav__link">
4. Download the Source Code
</a>
</li>
<li class="md-nav__item">
<a href="#5-configure-eclipse" title="5. Configure Eclipse" class="md-nav__link">
5. Configure Eclipse
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#set-preferences" title="Set Preferences" class="md-nav__link">
Set Preferences
</a>
</li>
<li class="md-nav__item">
<a href="#importing-git-repos" title="Importing Git Repos" class="md-nav__link">
Importing Git Repos
</a>
</li>
<li class="md-nav__item">
<a href="#final-setup" title="Final Setup" class="md-nav__link">
Final Setup
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#6-run-cave" title="6. Run CAVE" class="md-nav__link">
6. Run CAVE
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#run-application" title="Run Application" class="md-nav__link">
Run Application
</a>
</li>
<li class="md-nav__item">
<a href="#debug-application" title="Debug Application" class="md-nav__link">
Debug Application
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#troubleshooting" title="Troubleshooting" class="md-nav__link">
Troubleshooting
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
<label class="md-nav__link" for="nav-9">
Appendix
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-9">
Appendix
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../appendix/appendix-grid-parameters/" title="AWIPS Grid Parameters" class="md-nav__link">
AWIPS Grid Parameters
</a>
</li>
<li class="md-nav__item">
<a href="../../python/maps-database/" title="Maps Database" class="md-nav__link">
Maps Database
</a>
</li>
<li class="md-nav__item">
<a href="../../appendix/appendix-acronyms/" title="Acronyms and Abbreviations" class="md-nav__link">
Acronyms and Abbreviations
</a>
</li>
<li class="md-nav__item">
<a href="../../appendix/appendix-wsr88d/" title="WSR-88D Product Table" class="md-nav__link">
WSR-88D Product Table
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/cave-keyboard-shortcuts/" title="Keyboard Shortcuts" class="md-nav__link">
Keyboard Shortcuts
</a>
</li>
<li class="md-nav__item">
<a href="../../raytheon/cave_d2d/" title="Raytheon: CAVE User's Manual" class="md-nav__link">
Raytheon: CAVE User's Manual
</a>
</li>
<li class="md-nav__item">
<a href="../../raytheon/smm/" title="Raytheon: AWIPS System Manager's Manual" class="md-nav__link">
Raytheon: AWIPS System Manager's Manual
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1-remove-awips-instances" title="1. Remove AWIPS Instances" class="md-nav__link">
1. Remove AWIPS Instances
</a>
</li>
<li class="md-nav__item">
<a href="#2-set-up-awips-repo" title="2. Set Up AWIPS Repo" class="md-nav__link">
2. Set Up AWIPS Repo
</a>
</li>
<li class="md-nav__item">
<a href="#3-install-the-ade" title="3. Install the ADE" class="md-nav__link">
3. Install the ADE
</a>
</li>
<li class="md-nav__item">
<a href="#4-download-the-source-code" title="4. Download the Source Code" class="md-nav__link">
4. Download the Source Code
</a>
</li>
<li class="md-nav__item">
<a href="#5-configure-eclipse" title="5. Configure Eclipse" class="md-nav__link">
5. Configure Eclipse
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#set-preferences" title="Set Preferences" class="md-nav__link">
Set Preferences
</a>
</li>
<li class="md-nav__item">
<a href="#importing-git-repos" title="Importing Git Repos" class="md-nav__link">
Importing Git Repos
</a>
</li>
<li class="md-nav__item">
<a href="#final-setup" title="Final Setup" class="md-nav__link">
Final Setup
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#6-run-cave" title="6. Run CAVE" class="md-nav__link">
6. Run CAVE
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#run-application" title="Run Application" class="md-nav__link">
Run Application
</a>
</li>
<li class="md-nav__item">
<a href="#debug-application" title="Debug Application" class="md-nav__link">
Debug Application
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#troubleshooting" title="Troubleshooting" class="md-nav__link">
Troubleshooting
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/Unidata/awips2/edit/unidata_18.1.1/docs/dev/awips-development-environment.md" title="Edit this page" class="md-icon md-content__icon">edit</a>
<h1 id="awips-development-environment-ade">AWIPS Development Environment (ADE)<a class="headerlink" href="#awips-development-environment-ade" title="Permanent link"></a></h1>
<p>Detailed instructions on how to download the latest source code and run CAVE from Eclipse.</p>
<div class="admonition note">
<p class="admonition-title">It is important to keep in mind these instructions are intended for a system that is specifically used for developing AWIPS. It should not be used in conjunction with installed production versions of AWIPS.</p>
</div>
<div class="admonition note">
<p class="admonition-title">The following <em>yum</em> commands listed in these instructions may need to be run as the <em>root</em> user, but the rest of the commands should be run as the local user.</p>
</div>
<h2 id="1-remove-awips-instances">1. Remove AWIPS Instances<a class="headerlink" href="#1-remove-awips-instances" title="Permanent link"></a></h2>
<p>First, make sure to remove any instances of AWIPS that are already installed, this can potentially cause problems when setting up the development environment. Below is an example that had CAVE installed.</p>
<p>Uninstall with yum:</p>
<pre><code>yum clean all
yum groupremove awips2-cave
</code></pre>
<p>Check to make sure all rpms have been removed:</p>
<pre><code>rpm -qa | grep awips2
</code></pre>
<p>Remove the awips2 directory:</p>
<pre><code>rm -rf /awips2
</code></pre>
<hr />
<h2 id="2-set-up-awips-repo">2. Set Up AWIPS Repo<a class="headerlink" href="#2-set-up-awips-repo" title="Permanent link"></a></h2>
<p>Create a repo file named <code>/etc/yum.repos.d/awips2.repo</code>, and set the contents to the following:</p>
<pre><code>sudo vi /etc/yum.repos.d/awips2.repo
</code></pre>
<pre>
[awips2repo]
name=AWIPS II Repository
baseurl=https://www.unidata.ucar.edu/repos/yum/<b>el7-dev</b>/
enabled=1
protect=0
gpgcheck=0
proxy=_none_
</pre>
<div class="admonition note">
<p class="admonition-title">This file may already exist if AWIPS had been previously installed on the machine, so make sure to edit the baseurl.</p>
</div>
<hr />
<h2 id="3-install-the-ade">3. Install the ADE<a class="headerlink" href="#3-install-the-ade" title="Permanent link"></a></h2>
<p>Install the AWIPS Development Environment (ADE) using yum. This will install Eclipse (4.6.1), Java (1.8), Ant (1.9.6), Python 2.7 and its modules (Numpy, Matplotlib, Shapely, Jep, and others). </p>
<pre><code>yum clean all
yum groupinstall awips2-ade
</code></pre>
<div class="admonition note">
<p class="admonition-title">Check the libGLU package is installed by running <code>rpm -qa | grep mesa-libGLU</code>. If nothing is returned, install the package via: <code>yum install mesa-libGLU</code>.</p>
</div>
<hr />
<h2 id="4-download-the-source-code">4. Download the Source Code<a class="headerlink" href="#4-download-the-source-code" title="Permanent link"></a></h2>
<p>If it's not already installed, install git:</p>
<pre><code>yum install git
</code></pre>
<p>Next clone all of the required repositories for AWIPS:</p>
<pre><code>git clone https://github.com/Unidata/awips2.git
git clone https://github.com/Unidata/awips2-cimss.git
git clone https://github.com/Unidata/awips2-core.git
git clone https://github.com/Unidata/awips2-core-foss.git
git clone https://github.com/Unidata/awips2-drawing.git
git clone https://github.com/Unidata/awips2-foss.git
git clone https://github.com/Unidata/awips2-goesr.git
git clone https://github.com/Unidata/awips2-gsd.git
git clone https://github.com/Unidata/awips2-ncep.git
git clone https://github.com/Unidata/awips2-nws.git
</code></pre>
<div class="admonition note">
<p class="admonition-title">Make sure to run <code>git checkout</code> in each repo if you'd wish to develop from a branch different from the default. It's best to do this before importing the repos into eclipse.</p>
</div>
<hr />
<h2 id="5-configure-eclipse">5. Configure Eclipse<a class="headerlink" href="#5-configure-eclipse" title="Permanent link"></a></h2>
<p>Open eclipse by running: <code>/awips2/eclipse/eclipse</code></p>
<p>It is fine to choose the default workspace upon starting up.</p>
<h3 id="set-preferences">Set Preferences<a class="headerlink" href="#set-preferences" title="Permanent link"></a></h3>
<p>Verify or make the following changes to set up eclipse for AWIPS development:</p>
<ol>
<li>
<p>Window &gt; Preferences &gt; Java &gt; Installed JREs</p>
<ul>
<li>Set to <strong>/awips2/java</strong></li>
</ul>
</li>
<li>
<p>Window &gt; Preferences &gt; PyDev &gt; Interpreters &gt; Python Interpreter</p>
<ul>
<li>
<p>Set to <strong>/awips2/python/bin/python</strong></p>
<blockquote>
<p>Note: Add all paths to the SYSTEM pythonpath if prompted</p>
</blockquote>
</li>
</ul>
</li>
<li>
<p>There might be some unresolved errors. These should be made to warnings instead.</p>
<ul>
<li>Window &gt; Preferences &gt; Java &gt; Compiler &gt; Building &gt; Build path Problems &gt; <strong>Circular Dependencies</strong> &gt; Change to Warning</li>
<li>Window &gt; Preferences &gt; Plug-in Development &gt; API Baselines &gt; <strong>Missing API Baseline</strong> &gt; Change to Warning</li>
</ul>
</li>
<li>
<p><strong>Turn off automatic building</strong> (you will turn this back on after importing the repos)</p>
<ul>
<li>Project &gt; Uncheck "Build Automatically"</li>
</ul>
</li>
</ol>
<h3 id="importing-git-repos">Importing Git Repos<a class="headerlink" href="#importing-git-repos" title="Permanent link"></a></h3>
<p>All of the git repos that were <a href="#4-download-the-source-code">cloned in the previous step</a> will need to be imported into Eclipse. <strong>But, be aware the <code>awips2</code> repo is done last,</strong> because it requires different steps.</p>
<ol>
<li>
<p>File &gt; Import &gt; Git &gt; Projects from Git &gt; <strong>Next</strong>
<img alt="git import" src="../../images/gitImport1.png" /></p>
</li>
<li>
<p>Continue with the default selection, Existing local repository &gt; <strong>Add..</strong> &gt; add each of the git repos (for example <code>.../awips2-core</code>) &gt; check the checkbox &gt; <strong>Finish</strong>
<img alt="add git repo" src="../../images/gitImport2.png" /></p>
</li>
<li>
<p>Then for each of the repos (except awips2 right now):
Select the repo name &gt; <strong>Next</strong> &gt; Continue with default selection (Working Tree) &gt; <strong>Next</strong> &gt; Continue with default selections (all choices selected) &gt; <strong>Finish</strong>
<img alt="finish import" src="../../images/gitImport3.png" /></p>
</li>
<li>
<p>Finally, for <code>awips2</code> repo, follow all the above steps except in the Working Tree, only select:</p>
<ul>
<li><em>cave</em> &gt; <strong>Next</strong> &gt; <strong>Finish</strong>
<img alt="importCave" src="../../images/gitImportCave.png" /></li>
<li><em>edexOsgi</em> &gt; <strong>Next</strong> &gt; <strong>Finish</strong>
<img alt="importEdexOsgi" src="../../images/gitImportEdexOsgi.png" /></li>
</ul>
</li>
</ol>
<h3 id="final-setup">Final Setup<a class="headerlink" href="#final-setup" title="Permanent link"></a></h3>
<ol>
<li>
<p>Project &gt; Clean &gt; <strong>OK</strong></p>
<ul>
<li>Use default selections: <em>Clean all projects</em>, <em>Start a build immediately</em>, <em>Build the entire workspace</em></li>
<li>Clean the build and ensure no errors are reported.<br />
<img alt="cleanEclipse" src="../../images/cleanEclipse.png" /></li>
</ul>
</li>
<li>
<p>Turn automatic building back on</p>
<ul>
<li>Project &gt; Check "Build Automatically"</li>
</ul>
</li>
</ol>
<hr />
<h2 id="6-run-cave">6. Run CAVE<a class="headerlink" href="#6-run-cave" title="Permanent link"></a></h2>
<div class="admonition note">
<p class="admonition-title">CAVE can be ran from eclipse by using the <em>com.raytheon.viz.product.awips/developer.product</em></p>
</div>
<p>Double-click the <strong>developer.product</strong> file to open the Project Explorer in Eclipse. Select <strong>Overview</strong> &gt; <strong>Synchronize</strong></p>
<p><img alt="synchronize developer product" src="../../images/synchronizeDeveloperProduct.png" /></p>
<p>Use the <strong>Project Explorer</strong> on the left-hand side of eclipse to run CAVE as a <a href="#run-application">Java application</a> or in <a href="#debug-application">Debug mode</a>:</p>
<h3 id="run-application">Run Application<a class="headerlink" href="#run-application" title="Permanent link"></a></h3>
<p>Select <strong>Run As</strong> &gt; <strong>Eclipse Application</strong></p>
<p><img alt="run application" src="../../images/runApplication.png" /></p>
<h3 id="debug-application">Debug Application<a class="headerlink" href="#debug-application" title="Permanent link"></a></h3>
<p>Select <strong>Debug</strong> &gt; <strong>Eclipse Application</strong></p>
<p><img alt="debug application" src="../../images/debugApplication.png" /></p>
<hr />
<h2 id="troubleshooting">Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permanent link"></a></h2>
<ul>
<li>If you are getting a lot of errors, try changing your Java Compiler to 1.7, build the project, then change back to 1.8 and rebuild.</li>
</ul>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="../../python/overview/" title="Python-AWIPS" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Previous
</span>
Python-AWIPS
</span>
</div>
</a>
<a href="../../appendix/appendix-grid-parameters/" title="AWIPS Grid Parameters" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
AWIPS Grid Parameters
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
</div>
</a>
</nav>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
Copyright &copy; 2020 Unidata Program Center.
</div>
powered by
<a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
and
<a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
Material for MkDocs</a>
</div>
<div class="md-footer-social">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<a href="https://www.unidata.ucar.edu/software/awips2" class="md-footer-social__link fa fa-globe"></a>
<a href="https://github.com/Unidata/awips2" class="md-footer-social__link fa fa-github-alt"></a>
<a href="https://twitter.com/Unidata" class="md-footer-social__link fa fa-twitter"></a>
<a href="https://facebook.com/Unidata" class="md-footer-social__link fa fa-facebook"></a>
</div>
</div>
</div>
</footer>
</div>
<script src="../../assets/javascripts/application-0b7df094bf.js"></script>
<script>app.initialize({url:{base:"../.."}})</script>
<script src="../../assets/javascripts/application-0b7df094bf.js"></script>
</body>
</html>