Book Image

Apache Maven Cookbook

Book Image

Apache Maven Cookbook

Overview of this book

Table of Contents (18 chapters)
Apache Maven Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Running Maven behind an HTTP proxy server


Most organizations do not allow devices in their network to access the Internet directly for security and other reasons. In such cases, typically, a proxy server comes into picture. The proxy server details are specified in the browser or any other location where access to the Internet is required.

How to do it...

Let's start running Maven behind an HTTP proxy server, by performing the following steps:

  1. Create a settings.xml file in the .m2 folder in your HOME directory, if it does not exist already.

  2. Add the following code within the settings tag:

      <proxies>
        <proxy>
          <id>myproxy</id>
          <active>true</active>
          <protocol>http</protocol>
          <host>proxy.myorg.com</host>
          <port>8080</port>
          <username>proxyuser</username>
          <password>somepassword</password>
          <nonProxyHosts>*.myorg.com </nonProxyHosts>
        </proxy>
      </proxies>

If the proxy server does not need authentication, the username and password tags can be omitted.

The nonProxyHosts tag allows you to specify locations that can be accessed directly (for instance, your intranet). This can be skipped if not relevant.

How it works...

Maven needs Internet access to download plugins and dependencies. When Maven runs, it reads the user's settings.xml file, if it exists. It checks for any active proxy settings and applies the same.

Maven uses the values in the proxy settings to download any artifacts from the repository. If there are no artifacts to be downloaded, then these values are not used.

Note

The HTTP proxy server may work only in your organization's network. If you are running Maven from a different network, you may want to turn off the HTTP proxy server. This can be done by setting the active tag to false in the preceding code.