Main Tutorials

How to add M2_REPO classpath variable to Eclipse IDE

Normally, when you use Maven command mvn eclipse:eclipse to convert existing Java project to support Eclipse project, Maven will create the entire dependency classpath by using the M2_REPO variable, which is not defined in Eclipse by default.

Nothing special, M2_REPO is just a normal “classpath variable” in Eclipse to find your local Maven repository.

Here, we show you two ways to add M2_REPO classpath variable into Eclipse IDE.

1. Add M2_REPO Manually

Define and add M2_REPO classpath variable manually into Eclipse IDE. Follow below steps :

  1. Eclipse IDE, menu bar
  2. Select Window > Preferences
  3. Select Java > Build Path > Classpath Variables
  4. Click on the new button > defined a new M2_REPO variable and point it to your local Maven repository
  5. Done.

2. Add M2_REPO Automatically – eclipse:configure-workspace

Alternatively, you can define and add M2_REPO via Maven command “eclipse:configure-workspace“.


mvn -Declipse.workspace="your Eclipse Workspace" eclipse:configure-workspace

See an example :


C:\>mvn -Declipse.workspace="C:\Users\mkyong\workspace" eclipse:configure-workspace
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'eclipse'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [eclipse:configure-workspace] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [eclipse:configure-workspace {execution: default-cli}]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Thu Apr 14 20:45:17 SGT 2011
[INFO] Final Memory: 9M/112M
[INFO] ------------------------------------------------------------------------

Done.

Verify M2_REPO is Added
Review classpath variable to verify that the M2_REPOis added into Eclipse IDE.

Add ME_REPO to Eclipse IDE

You need to add this M2_REPO classpath variable once only, and this variable is shared among all of your Eclipse’s workspace.

eclipse:add-maven-repo
The old “eclipse:add-maven-repo” command is deprecated , and not working anymore. Uses “eclipse:configure-workspace” instead.

References

  1. Add Maven repo example
  2. Configure Maven workspace

About Author

author image
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

Subscribe
Notify of
25 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
tenne
11 years ago

hi m,
I hv added the m2_repo as you said. Manually and automatically. it also shown in classpath too. but it doen’t resolve dependencies still i have to resolve those manually by adding external jars. do you have any idea why is this happening

UILIAN ALVES
2 years ago

Thank You Brother!

4 years ago

maven sucks

Francisco Souza
4 years ago

Can you tell me why my module projects are not being showed as maven project inside the parent maven project? I have Eclipse Neon where that parent project was created, there I can see the correct project structure, but when I open in another Eclipse (like the Java-2019-09) the module projects are seen as normal folders and not as project.

Gábor Szárnyas
8 years ago

The m2e Eclipse plugin also registers the M2_REPO variable. However, please note that “eclipse:eclipse”-generated projects are not compatible with m2e so even if you have m2e, you should *not* convert these project to Maven projects in Eclipse.

The “mvn eclipse:eclipse” command even generates a comment to the .project file:

NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.

Dennis Wanjama
8 years ago

thanks a lot

JorgeThelaw
8 years ago

Nice!

Sri Lakshmi
9 years ago

Iam new to android-ndk.

Iam trying to build pure c code by using android-ndk finally its working.

Now Iam trying to call assembly file from that c code but Iam getting errors.

Iam using Linux_GCC

/* This is my Android.mk file */

LOCAL_PATH := $(call-mydir)

include $(CLEAR_VARS)

LOCAL_MODULE := Sample

LOCAL_SRC_FILES := test.c assembly.S

LOCAL_ARM_MODE := arm

LOCAL_LD_LIBS := -llog

include $(BUILD SHARED_LIBS)

TARGET_ARCH_ABI == armabi-v7a

/* This is my application.mk file */

APP_OPTIM := debug

APP_ABI := armeabi armeabi-v7a x86

APP_STL := gnustl_static

/* This is my c file */

extern int assembly(int a);

int main(void)

{

int a = 5, b = 10, c, d;

c = a * b;

d = assembly(c);

printf(” d = %d”, d);

return(0);

}

/* my assembly file */

.text

.global assembly

assembly:

stmfd sp!, {r4-r12, lr}

add r4, r0, r1

mul r3, r0, r2

ldmfd sp!, {r4-r12, PC}

In order to build assembly I added following

Project –> Properties–> c/c++ build –> settings

GCC Assembler: added -arch i386 -g after as

GCC C Compiler: added -m32 after gcc

GCC C Linker: added -m32 after gcc

in debug configuration settings i have select c/c++ application as default/Sample

while building project it is showig error as Sample/default/Sample is not found.

I reffered few sites in those i observed they select c/c++ application as project/obj/local/armeabi/app_process

but i didn’t found app_process in that path in my project.

Hope somebody will help me regarding this.

THANKS

Renso
10 years ago

Thank you

Ankur Saxena
10 years ago

Thanks

Umesh
10 years ago

Awesome tutorial mkyong…..

David
11 years ago

Thanks this helped!

vmi
11 years ago

Thank You!

Me
11 years ago
Reply to  vmi

Thanks so much mate God help you.

ashish
11 years ago

Gr8 work yong!

chandan kumar
11 years ago

nice blogs

asher
11 years ago

Hi MkYong,

Are you familiar with Eclipse Application developer installation if yes. I am making response file for pacakges installation. It keeps not accepting the repositories. I tried to create the response file: eclipse>ibmimc.exe -record c:\temp\1.xml -skipInstall e:\data
it recorded the first repository. When I tried to fill rest of the repository it give me error saying these repositories are not acceptable. My issues is embedding the repositories and all the options in a response file so it silently install the Eclipse and its 3 developer environments.

Please email me if you have a response.

Many thanks in advances.

Asher

Terence
11 years ago

Thanks this helped me out today.

Sarath Meepagala
11 years ago

This was very helpful. Thanks!

Gaurav
12 years ago

Hi mkyong 🙂

I have already installed maven and it had by default added .m2 directory in c: drive in the Document and Settings…. folders

but as now the link to change the maven repository path is coming hidden in eclipse

Can i still change it by any other means ???

Please revert me back soon

Vijayendra Bhati
11 years ago
Reply to  mkyong

Hi ,

Could you please tell me how this would change the value of M2_REPO variable in eclipse ? I am also facing the same issue.Even I have changed the settings.xml , stilll I can see the old default value of this variable.

Regards,
Vijayendra Bhati

Sameer Chamankar
10 years ago

Hi,

Your Eclipse IDE must have come with in built Maven. You can change the maven setting in your eclipse using following steps.

Window -> Preferences -> Maven -> Installations -> Add -> Provide path of your maven installation

Thanks,
Sameer

Murali
11 years ago

i think you need to change proxy settings if you have or change the usename and password of your local system in that in settings.xml file.

Nancy
9 years ago

Hi,
I have created maven home and java home in environmental variables. Can i use that in eclipse? maven plugin which has pom.xml is different from maven setting in environmental variables?