Book Image

Apache Maven Cookbook

By : Raghuram Bharathan
Book Image

Apache Maven Cookbook

By: Raghuram Bharathan

Overview of this book

If you are a Java developer or a manager who has experience with Apache Maven and want to extend your knowledge, then this is the ideal book for you. Apache Maven Cookbook is for those who want to learn how Apache Maven can be used for build automation. It is also meant for those familiar with Apache Maven, but want to understand the finer nuances of Maven and solve specific problems.
Table of Contents (13 chapters)
12
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.