Showing posts with label Maven. Show all posts
Showing posts with label Maven. Show all posts

Maven use local jar without installing

You can install a local jar by using  mvn install:install-file command/goal as I discussed in my earlier blog post. This ensures the re-usability of jar file across your projects but as a drawback, this requires every team member and build server to run the same command/goal to build their project.

To avoid to the manual hassle, you can add the .jar in pom.xml file without running the mvn install:install-file goal. The idea is to refer a .jar from your project base directory using the <systemPath> element.

In example below, I put my jar files to /myjars directory and point to the jar file as
        <systemPath>${project.basedir}/myjars/[Jar file name]</systemPath>

Directory Structure




For web project (war files )

If you are working on a web project, the above configuration won't add the jars to war file by default. You need to do following.

Here we are asking maven-war-plugin to add all jar ( **/*.jar) from  ${project.basedir}/myjars  to WEB-INF/lib folder when creating the war file.


superclass "javax.servlet.http.HttpServlet" not found on Java Build Path - solution

You might (normally) get the error following error on a dynamic java web project created through maven on Eclipse IDE. The solution is simple :
Error :
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path   
Error Location :
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Solution 1)
Edit pom.xml to include servlet-api-x.x.jar in your dependencies:
Solution 2)
Go to Project->Properties->Target Runtimes . And add your server container eg. : Apache Tomcat

change maven local repository path - symbolic links

Let's suppose we want to change the local maven repo path (default : c:\users\user_name\.m2\repository) to some other real folder - lets say e:\repo  - so that the contents from e:\repo folder are mapped to the default folder location.

This might be useful when .m2 folder on your C: drive is taking too much space. In such case, you can move the content to another drive ( e:\repo) and have a symbolic link on C:\ drive instead - so that all the configuration remains intact.

The following command creates a link folder "repository" in /.m2 folder and points to the source e:\REPO

C:\>mklink /d c:\users\gtiwari\.m2\repository e:\REPO


eclipse proguard maven project configuration - java obfuscate

I am going to describe how can can configure proguard and maven to obfuscate a java project. If you need help on how to configure maven project in eclipse see my earlier post.

A)Project configs
    <!-- Project configs -->


maven install jar to repository locally

Run the following command to install the "MyJar-x.x.x.jar" into Local maven repository. The underlined  values vary in your case.
mvn install:install-file -Dfile=PathOFJar_MyJar-x.x.x.jar -DgroupId=com.mycompany -DartifactId=myJar -Dversion=x.x.x -Dpackaging=jar

After installing, Add the dependency into Pom.xml :

As an alternative, you can directly refer to a jar file in your file system. This eliminates the hassle that every team member and build server to run the mvn:install command every time someone adds some local jar in pom.xml.

Take a look at following blog post for the details.

Create, configure maven project in eclipse - example tutorial

In this post, the followings are covered :
  • Download and Install maven in windows:
  • Add M2_REPO classpath variable in eclipse 
  • Generate Java/Web Project  with maven and import in eclipse
  • Add another dependency from web repository
  • Add custom or 3rd party library manually into repository:
  • Benefits of using MAVEN :