---
layout: post
title: Apache Maven EJB Plugin Version 3.2.1 released
date: '2022-04-21T23:52:42+00:00'
permalink: apache-maven-ejb-plugin-version1
---
<div class="entry-content"><p>The Apache Maven team is pleased to announce the release of the
  <a href="https://maven.apache.org/plugins/maven-ejb-plugin/">Apache Maven EJB Plugin Version 3.2.1</a>.</p>

  <p>This plugin generates J2EE Enterprise Javabean (EJB) file as well as the
    associated client jar.</p>

  <figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
</pre></td><td class='code'><pre><code class='xml'><span class='line'><span class="nt">&lt;plugin&gt;</span>
</span><span class='line'>  <span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="nt">&lt;/groupId&gt;</span>
</span><span class='line'>  <span class="nt">&lt;artifactId&gt;</span>maven-ejb-plugin<span class="nt">&lt;/artifactId&gt;</span>
</span><span class='line'>  <span class="nt">&lt;version&gt;</span>3.2.1<span class="nt">&lt;/version&gt;</span>
</span><span class='line'><span class="nt">&lt;/plugin&gt;</span>
</span></code></pre></td></tr></table></div></figure>




  <!-- more -->


  <p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12348390&amp;styleName=Text&amp;projectId=12317421">Release Notes &ndash; Apache Maven EJB Plugin &ndash; Version 3.2.1</a></p>

  <p>Release Notes &ndash; Maven EJB Plugin &ndash; Version 3.2.1</p>

  <ul>
    <li><p>Tasks:</p>

      <ul>
        <li><a href="https://issues.apache.org/jira/browse/MEJB-131">MEJB-131</a> &ndash; Upgrade Maven to 3.2.5</li>
        <li><a href="https://issues.apache.org/jira/browse/MEJB-133">MEJB-133</a> &ndash; Upgrade to Java 8</li>
      </ul>
    </li>
  </ul>


  <p>Enjoy,</p>

  <p>-The Apache Maven team</p>
</div>
