<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	    <meta charset="utf-8"/>
	    <title>Apache Tamaya: Download</title>
	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
	    <meta name="description" content="Homepage of Apache Tamaya (incubating)"/>
	    <meta name="author" content="Apache Tamaya Project Team"/>
	    <meta name="keywords" content="Apache Tamaya Incubating, configuration, Java, ASF, Apache Software Foundation"/>
      <meta name="generator" content="JBake ${content.version}"/>

	    <!-- Le styles -->
	    <link href="css/bootstrap.min.css" rel="stylesheet"/>
	    <link href="css/asciidoctor.css" rel="stylesheet"/>
	    <link href="css/base.css" rel="stylesheet"/>
	    <link href="css/prettify.css" rel="stylesheet"/>

	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
	    <!--[if lt IE 9]>
	      <script src="js/html5shiv.min.js"></script>
	    <![endif]-->

	    <!-- Fav and touch icons from ASF -->
			<link rel="shortcut icon" href="favicon.ico"/>
			<link rel="apple-touch-icon" sizes="57x57" href="favicons/apple-touch-icon-57x57.png"/>
		  <link rel="apple-touch-icon" sizes="60x60" href="favicons/apple-touch-icon-60x60.png"/>
		  <link rel="apple-touch-icon" sizes="72x72" href="favicons/apple-touch-icon-72x72.png"/>
		  <link rel="apple-touch-icon" sizes="76x76" href="favicons/apple-touch-icon-76x76.png"/>
		  <link rel="apple-touch-icon" sizes="114x114" href="favicons/apple-touch-icon-114x114.png"/>
		  <link rel="apple-touch-icon" sizes="120x120" href="favicons/apple-touch-icon-120x120.png"/>
		  <link rel="apple-touch-icon" sizes="144x144" href="favicons/apple-touch-icon-144x144.png"/>
		  <link rel="apple-touch-icon" sizes="152x152" href="favicons/apple-touch-icon-152x152.png"/>
		  <link rel="apple-touch-icon" sizes="180x180" href="favicons/apple-touch-icon-180x180.png"/>
		  <link rel="icon" type="image/png" href="favicons/favicon-32x32.png" sizes="32x32"/>
		  <link rel="icon" type="image/png" href="favicons/favicon-194x194.png" sizes="194x194"/>
		  <link rel="icon" type="image/png" href="favicons/favicon-96x96.png" sizes="96x96"/>
		  <link rel="icon" type="image/png" href="favicons/android-chrome-192x192.png" sizes="192x192"/>
		  <link rel="icon" type="image/png" href="favicons/favicon-16x16.png" sizes="16x16"/>
		  <link rel="manifest" href="favicons/manifest.json"/>
		  <link rel="shortcut icon" href="favicons/favicon.ico"/>
		  <meta name="msapplication-TileColor" content="#603cba"/>
		  <meta name="msapplication-TileImage" content="favicons/mstile-144x144.png"/>
		  <meta name="msapplication-config" content="favicons/browserconfig.xml"/>
		  <meta name="theme-color" content="#303284"/>
	</head>
	<body onload="prettyPrint()">
	<div id="wrap">
		<div>

	  <!-- Fixed navbar -->
      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".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>
          <a class="navbar-brand" href="index.html">Tamaya Home</a>
        </div>
        <div class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
						<li><a href="start.html">Tamaya in 5 minutes</a></li>
						<li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
              <ul class="dropdown-menu">
								<li><a href="documentation/usecases.html">Use Cases and Requirements</a></li>
								<li><a href="documentation/quickstart.html">Quickstart</a></li>
								<li><a href="documentation/api.html">API</a></li>
								<li><a href="documentation/core.html">Core</a></li>
								<li><a href="documentation/extensions.html">Extension Guide</a></li>
								<li class="divider"></li>
								<li><a href="apidocs/stable/index.html">Javadoc 0.4-incubating (release/stable)</a></li>
								<li><a href="apidocs/development/index.html">Javadoc 0.5-incubating-SNAPSHOT (development)</a></li>
              </ul>
            </li>
						<li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
              <ul class="dropdown-menu">
								<li><a href="development/source.html">Sources</a></li>
								<li><a href="development/community.html">Community</a></li>
								<li><a href="development/team.html">Project Team</a></li>
								<li><a target="_blank" href="https://builds.apache.org/view/S-Z/view/Tamaya/">CI / ASF Jenkins</a></li>
								<li><a target="_blank" href="https://issues.apache.org/jira/browse/TAMAYA">Issues / ASF Jira</a></li>
								<li><a href="devguide.html">Development Guide</a></li>
								<li><a href="release-guide.html">Release Guide</a></li>
								<li class="divider"></li>
								<li><a href="development/possible-contributions.html">Possible Contributions</a></li>
              </ul>
            </li>
						<li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
              <ul class="dropdown-menu">
								<li><a href="download.html">Download</a></li>
								<li><a href="history.html">Release History</a></li>
              </ul>
            </li>
						<li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
              <ul class="dropdown-menu">
								<li><a href="https://www.apache.org/">Apache Software Foundation (ASF)</a></li>
								<li><a href="https://www.apache.org/foundation/how-it-works.html">How the ASF works</a></li>
								<li><a href="https://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
								<li><a href="https://www.apache.org/dev/">Developer Resources</a></li>
								<li><a href="https://www.apache.org/foundation/policies/conduct.html">Code of Conduct</a></li>
								<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
								<li><a href="https://www.apache.org/licenses/">License</a></li>
								<li><a href="https://www.apache.org/security">Security</a></li>
								<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
								<hr/>
								<li><a  href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" alt="Current Apache event"/></a></li>
              </ul>
            </li>
<!-- Example:
						<li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li class="divider"></li>
                <li class="dropdown-header">Nav header</li>
                <li><a href="#">Separated link</a></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
-->
			<li><a href="sitemap.xml">Sitemap</a></li>
			<li><a href="feed.xml">Subscribe</a></li>
			<li><a href="https://incubator.apache.org/guides/website.html" style="border:0px;" target="_target">
                                 <img class="incubator-logo" src="logos/apache-incubator.png"/></a></li>
          </ul>

        </div><!--/.nav-collapse -->
      </div>
    </div>

	</div>
		<div class="container">

			<div class="page-header">
				<h1>Apache Tamaya: Download</h1>
			</div>

			<p><em>2019-11-17</em></p>

			<p><div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>The latest release is Apache Tamaya 0.4-incubating.
You can download it it from the
<a href="http://www.apache.org/dyn/closer.cgi/incubator/tamaya" target="_blank" rel="noopener">Apache Software Foundation Distribution Directory</a>.</p>
</div>
<div class="paragraph">
<p>The release notes for each release of Apache Tamaya
can be found at the <a href="history.html">release history page</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_current_source_code">1. Current Source Code</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Downloading of the the current state of the project can be done by</p>
</div>
<div class="ulist">
<ul>
<li>
<p>cloning the <a href="https://github.com/apache/incubator-tamaya" target="_blank" rel="noopener">GitHub repo</a></p>
</li>
<li>
<p>Github also provides an easy way to dowload the current project source as zip archive.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_maven_dependencies">2. Maven Dependencies</h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
    &lt;groupId&gt;org.apache.tamaya&lt;/groupId&gt;
    &lt;artifactId&gt;tamaya-api&lt;/artifactId&gt;
    &lt;version&gt;0.4-incubating&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.apache.tamaya&lt;/groupId&gt;
    &lt;artifactId&gt;tamaya-core&lt;/artifactId&gt;
    &lt;version&gt;0.4-incubating&lt;/version&gt;
&lt;/dependency&gt;</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_previous_releases">3. Previous Releases</h2>
<div class="sectionbody">
<div class="paragraph">
<p>All previous releases can also be found at the
<a href="https://archive.apache.org/dist/incubator/tamaya/" target="_blank" rel="noopener">Apache Software Foundation Distribution Archive</a>.
In our <a href="history.html">release history overview</a> you can find all previous releases of Tamaya.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_verifying_releases">4. Verifying Releases</h2>
<div class="sectionbody">
<div class="paragraph">
<p>It is essential that you verify the integrity of any downloaded files using
the PGP or MD5 signatures.  For more information on signing artifacts and
why we do it, check out the
<a href="https://www.apache.org/dev/release-signing.html" target="_blank" rel="noopener">Release Signing FAQ</a>.</p>
</div>
<div class="paragraph">
<p>The PGP signatures can be verified using PGP or GPG. First download the
<a href="https://www.apache.org/dist/incubator/tamaya/KEYS" target="_blank" rel="noopener">KEYS file</a>
as well as the asc signature file for the artifact. Make sure you get
these files from the
<a href="https://www.apache.org/dist/incubator/tamaya/" target="_blank" rel="noopener">main distribution directory</a>
rather than from a
<a href="https://www.apache.org/dyn/closer.cgi/incubator/tamaya/" target="_blank" rel="noopener">mirror</a>.
Then verify the signatures using e.g.:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="prettyprint highlight"><code class="language-shell" data-lang="shell">$ pgpk -a KEYS
$ pgpv tamaya-project-1.2.0-source-release.zip.asc</code></pre>
</div>
</div>
<div class="paragraph">
<p>or</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="prettyprint highlight"><code class="language-shell" data-lang="shell">$ pgp -ka KEYS
$ pgp tamaya-project-1.2.0-source-release.zip.asc</code></pre>
</div>
</div>
<div class="paragraph">
<p>or</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="prettyprint highlight"><code class="language-shell" data-lang="shell">$ gpg --import KEYS
$ gpg --verify tamaya-project-1.2.0-source-release.zip.asc</code></pre>
</div>
</div>
</div>
</div></p>

			<hr />
		</div>
	</div>
	<div>
			<div id="push"></div>

		    <div id="footer">
		      <div class="container">
		        <p class="muted credit">&copy; 2014-<span>2019</span> Apache Software Foundation | Mixed with <a href="https://getbootstrap.com/">Bootstrap v3.1.1</a>
							| Baked with <a href="https://jbake.org">JBake <span>v2.6.4</span></a>
							at <span>2019-11-17</span> |
						<a class="twitter-follow-button" data-show-count="false" href="https://twitter.com/tamayaconf">Follow @tamayaconf</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
						</p>
						<p>
								<b>Disclaimer</b>
                    Apache Tamaya (incubating) is an effort undergoing
                    incubation at
                    The Apache Software Foundation (ASF), sponsored by
                    the Apache Incubator. Incubation is required of
                    all newly accepted projects until a further review indicates
                    that the infrastructure, communications, and decision making
                    process have stabilized in a manner consistent with other
                    successful ASF projects. While incubation status is not
                    necessarily a reflection of the completeness or stability of
                    the code, it does indicate that the project has yet to
                    be fully endorsed by the ASF.<br />
										Apache, Apache Tamaya, and the Apache Tamaya logo are registered trademarks or trademarks of The Apache Software Foundation in the U.S. and/or other countries.<br />
                    <a href="https://incubator.apache.org/guides/website.html" style="border:0px;" target="_target">
											<img class="incubator-logo" src="logos/apache-incubator.png" style="height: 50px;"/>
										</a>
							</p>
		      </div>
		    </div>

		    <!-- Le javascript
		    ================================================== -->
		    <!-- Placed at the end of the document so the pages load faster -->
		    <script src="js/jquery-1.11.1.min.js"></script>
		    <script src="js/bootstrap.min.js"></script>
		    <script src="js/prettify.js"></script>
    	</div>
    </body>
</html>
