mirror of https://github.com/apache/jmeter.git
141 lines
11 KiB
HTML
141 lines
11 KiB
HTML
<!DOCTYPE html SYSTEM "about:legacy-compat">
|
|
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-15"><title>Apache JMeter
|
|
-
|
|
Building and Contributing to JMeter</title><meta name="viewport" content="width=device-width, initial-scale=1"><link href="http://fonts.googleapis.com/css?family=Merriweather:400normal" rel="stylesheet" type="text/css"><link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="./css/new-style.css"><link rel="apple-touch-icon-precomposed" href="./images/apple-touch-icon.png"><link rel="icon" href="./images/favicon.png"><meta name="msapplication-TileColor" content="#ffffff"><meta name="msapplication-TileImage" content="./images/mstile-144x144.png"><meta name="theme-color" content="#ffffff"></head><body role="document"><a href="#content" class="hidden">Main content</a><div class="header"><!--
|
|
APACHE LOGO
|
|
--><div><a href="http://www.apache.org"><img title="Apache Software Foundation" class="asf-logo logo" src="./images/asf-logo.svg" alt="Logo ASF"></a></div><!--
|
|
PROJECT LOGO
|
|
--><div><a href="http://jmeter.apache.org/"><img class="logo" src="./images/logo.svg" alt="Apache JMeter"></a></div><div class="banner"><iframe src="http://www.apache.org/ads/bannerbar.html" style="border-width:0;" frameborder="0" scrolling="no"></iframe><div class="clear"></div></div></div><div class="nav"><ul class="menu"><li onClick="return true"><div class="menu-title">About</div><ul><li><a href="./index.html">Overview</a></li><li><a href="http://www.apache.org/licenses/">License</a></li></ul></li></ul><ul class="menu"><li onClick="return true"><div class="menu-title">Download</div><ul><li><a href="./download_jmeter.cgi">Download Releases</a></li><li><a href="./changes.html">Release Notes</a></li></ul></li></ul><ul class="menu"><li onClick="return true"><div class="menu-title">Documentation</div><ul><li><a href="./usermanual/get-started.html">Get Started</a></li><li><a href="./usermanual/index.html">User Manual</a></li><li><a href="./usermanual/best-practices.html">Best Practices</a></li><li><a href="./usermanual/component_reference.html">Component Reference</a></li><li><a href="./usermanual/functions.html">Functions Reference</a></li><li><a href="./changes_history.html">Change History</a></li><li><a href="./api/index.html">Javadocs</a></li><li><a href="./building.html">Building JMeter and Add-Ons</a></li><li><a href="http://wiki.apache.org/jmeter">JMeter Wiki</a></li><li><a href="http://wiki.apache.org/jmeter/JMeterFAQ">FAQ (Wiki)</a></li></ul></li></ul><ul class="menu"><li onClick="return true"><div class="menu-title">Tutorials (PDF format)</div><ul><li><a href="./usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a></li><li><a href="./usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a></li><li><a href="./usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a></li><li><a href="./usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a></li><li><a href="./extending/jmeter_tutorial.pdf">Extending JMeter</a></li></ul></li></ul><ul class="menu"><li onClick="return true"><div class="menu-title">Community</div><ul><li><a href="./issues.html">Issue Tracking</a></li><li><a href="./mail.html">Mailing Lists</a></li><li><a href="./svnindex.html">Source Repositories</a></li><li><a href="./building.html">Building and Contributing</a></li><li><a href="https://projects.apache.org/project.html?jmeter">Project info at Apache</a></li><li><a href="http://wiki.apache.org/jmeter/JMeterCommitters">Contributors</a></li></ul></li></ul><ul class="menu"><li onClick="return true"><div class="menu-title">Foundation</div><ul><li><a href="http://www.apache.org/">ASF</a></li><li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</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></ul></li></ul></div><div class="main" id="content"><div class="social-media"><ul class="social-media-links"><li class="twitter"><a href="https://twitter.com/ApacheJMeter" title="Follow us on Twitter"><i class="fa fa-twitter" aria-hidden="true"></i>Twitter</a></li><li class="github"><a href="https://github.com/apache/jmeter" title="Fork us on github"><i class="fa fa-github" aria-hidden="true"></i>github</a></li></ul></div><div class="section"><h1>Building JMeter</h1>
|
|
<h3>Acquiring the source</h3>
|
|
<p>The full source is distributed alongside the binary, and you can also find source repositories <a href="./svnindex.html">here</a> .</p>
|
|
<p>
|
|
The source archive, SVN and GIT do not contain any of the required library files.
|
|
|
|
<h3>Compiling and packaging JMeter using Eclipse</h3>
|
|
<h4>Option 1 : Setting up Eclipse project with Ant task</h4>
|
|
Once you have downloaded the sources using git or svn, you can setup the Eclipse project by running:
|
|
|
|
<pre class="source">ant setup-eclipse-project</pre>
|
|
|
|
You can then import the project using
|
|
<span class="menuchoice"><span class="guimenuitem">File</span> → <span class="guimenuitem">Import</span> → <span class="guimenuitem">Existing projects into Workspace</span></span> and select the folder containing JMeter sources.
|
|
|
|
<h4>Option 2 : Setting up Eclipse project manually</h4>
|
|
The first step is to download dependencies by running the Ant command:</p>
|
|
<pre class="source">
|
|
ant download_jars
|
|
</pre>
|
|
<p>Or you can download the binary distribution archive for a release and unpack it into the same directory structure as the source.
|
|
This will ensure that the <span class="code">lib/</span> directory contains the jar files needed for running JMeter.
|
|
There are a few additional jars that are needed to build JMeter, download these using:
|
|
</p>
|
|
<pre class="source">
|
|
ant download_jars
|
|
</pre>
|
|
<p>
|
|
This will retrieve any missing jars.
|
|
</p>
|
|
|
|
<p>
|
|
Once you have downloaded the source from SVN or the release archives and run the ant <span class="code">download_jars</span> target to
|
|
install the dependent jars, you can configure Eclipse. The easiest way to do this is to replace the Eclipse <span class="code">.classpath</span>
|
|
file with the <span class="code">eclipse.classpath</span> file provided with JMeter. This will set up the source-paths and most of the libraries.
|
|
</p>
|
|
<p>
|
|
Ensure you read <span class="code">eclipse.readme</span> for project configuration.
|
|
</p>
|
|
|
|
|
|
<h3>Compiling and packaging JMeter using Ant</h3>
|
|
<p>
|
|
JMeter can be built entirely using Ant.
|
|
The basic command is:</p>
|
|
<pre class="source">
|
|
ant [install]
|
|
</pre>
|
|
See <span class="code">build.xml</span> (or call <span class="code">ant -p</span>) for the other targets that can be used.
|
|
|
|
</div><div class="section"><h1>Contributing to JMeter</h1>
|
|
<h2>We love contribution</h2>
|
|
We are very grateful to you if you take some time to contribute to the project.
|
|
If you have some time to spend on the project you can pick existing enhancement or bug from <a target="_blank" href="issues.html">Issues page</a>.
|
|
|
|
<h2>Submitting a patch</h2>
|
|
|
|
If you want to contribute to JMeter for a bug fix or enhancement, here is the procedure to follow:
|
|
|
|
<h3>Check your patch</h3>
|
|
Before submitting your patch ensure you do the following:<br>
|
|
|
|
Check that patch compiles and follows Tab space policy by running:
|
|
<pre class="source">ant package-and-check</pre>
|
|
|
|
Check that patch does not break JUnit tests by running:
|
|
<pre class="source">ant test</pre>
|
|
|
|
<h3>Create a PR using GIT</h3>
|
|
<ul>
|
|
<li>Open a bugzilla issue, see <a target="_blank" href="issues.html">Issues page</a></li>
|
|
<li>Fork <a href="https://www.github.com/apache/jmeter">Apache JMeter mirror</a></li>
|
|
<li>Clone your forked repository locally : <pre class="source">git clone https://github.com/yourid/jmeter/</pre></li>
|
|
<li>Create a branch using for example bugzilla id: <pre class="source">git branch BUGID</pre></li>
|
|
<li>Checkout the new branch : <pre class="source">git checkout BUGID</pre></li>
|
|
<li>commit your fix there : <pre class="source">git commit -m 'Fix to BUGID' list of files</pre></li>
|
|
<li>Add JMeter repository as upstream : <pre class="source">git remote add upstream http://www.github.com/apache/jmeter</pre></li>
|
|
<li>push it : <pre class="source">git push origin BUGID</pre></li>
|
|
<li>Create a PR and link it in the bugzilla issue</li>
|
|
</ul>
|
|
|
|
<h3>Create a PR using Patch</h3>
|
|
<ul>
|
|
<li>Open a bugzilla issue, see <a target="_blank" href="issues.html">Issues page</a></li>
|
|
<li>Checkout Apache JMeter source</li>
|
|
<li>Code your fix</li>
|
|
<li>Create your patch by Right clicking on Eclipse project and select
|
|
<span class="menuchoice"><span class="guimenuitem">Team</span> → <span class="guimenuitem">Create Patch …</span></span></li>
|
|
<li>Attach your patch to the bugzilla issue</li>
|
|
</ul>
|
|
</div><div class="section"><h1>Automated builds</h1>
|
|
<h2>Automated (nightly) builds</h2>
|
|
<p>
|
|
As part of the development process, the JMeter project has access to various Continuous Integration (CI) server builds.
|
|
The build output can be useful for testing recent changes to the code-base.
|
|
</p>
|
|
<p>
|
|
Please note that the builds have not undergone any QA and should only be used for development testing.
|
|
For further information, see the <a href="nightly.html">Nightly builds for developers</a> page.
|
|
</p>
|
|
</div><div class="section"><h1>Building Add-Ons</h1>
|
|
<h2>Building Add-Ons</h2>
|
|
<p>
|
|
There is no need to build JMeter if you just want to build an add-on.
|
|
Just download the binary archive and add the jars to the classpath or use Maven artifacts to build your add-ons.
|
|
You may want to also download the source so it can be used by the IDE.
|
|
</p>
|
|
<p>See the <span class="code">extras/addons*</span> files in the source tree for some suggestions</p>
|
|
</div><div class="share-links">
|
|
Share this page:
|
|
<ul><li class="fb"><a data-social-url="https://facebook.com/sharer/sharer.php?u=" title="Share on facebook"><i class="fa fa-facebook" aria-hidden="true"></i>share</a></li><li class="twitter"><a data-social-url="https://twitter.com/intent/tweet?url=" title="Tweet on twitter"><i class="fa fa-twitter" aria-hidden="true"></i>tweet</a></li><li class="gplus"><a data-social-url="https://plus.google.com/share?url=" title="Share on Google+"><i class="fa fa-google-plus" aria-hidden="true"></i>share</a></li></ul></div></div><div class="footer"><div class="copyright">
|
|
Copyright ©
|
|
1999 –
|
|
2016
|
|
, Apache Software Foundation
|
|
</div><div class="trademarks">Apache, Apache JMeter, JMeter, the Apache
|
|
feather, and the Apache JMeter logo are
|
|
trademarks of the
|
|
Apache Software Foundation.
|
|
</div></div><script>(function(){
|
|
// fill in the current location into social links on this page.
|
|
"use strict";
|
|
var as = document.getElementsByTagName('a');
|
|
var loc = document.location.href;
|
|
if (!loc.toLowerCase().startsWith('http')) {
|
|
return;
|
|
}
|
|
for (var i=0; i<as.length; i++) {
|
|
var href = as[i].getAttribute('data-social-url');
|
|
if (href !== null) {
|
|
as[i].href = href + encodeURIComponent(loc);
|
|
}
|
|
}
|
|
})();</script></body></html> |