71

I use m2e 1.2.0 and m2e-wtp 0.16.0, and occasionally my Eclipse build fails with the error:

<path>/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (No such file or directory)

The problem can be temporarily solved by doing a Maven->Update project..., but the error will come back after a while. Not sure what exactly the trigger is....

Any suggestions on how to fix the issue permanently?

[Edit] I found that the issue is triggered when I build the project externally using the Maven command line directly. This will remove the default MANIFEST.MF that m2e-wtp generates, and it apparently doesn't get regenerated until you do a rebuild in Eclipse.

Jelle van Geuns
  • 883
  • 1
  • 8
  • 9

18 Answers18

112

Eclipse versions earlier than Luna

I'm not certain if this is the best thing to do but I followed the instructions mentioned here with regards to getting rid of the auto generated web resources folder and this seems to also resolve the issue with the missing MANIFEST.MF:

  • on your project only : right-click on the project > Properties > Maven > WTP : check "Enable Project Specific Settings" and uncheck "Maven Archiver generates files under the build directory"
  • on the whole workspace : Window > Preferences > Maven > WTP : uncheck "Maven Archiver generates files under the build directory"

We actually generate our manifest entries as part of the maven-war-plugin when we actually want to package/build the project, but I dont think m2e-wtp uses this. In any event, the manifest file is irrelevant for us in the build that m2e-wtp creates for use within eclipse.

Eclipse Luna and later

For Eclipse Luna you have to go:

Preferences > Maven > Java EE Integration and uncheck "Maven Archiver generates files under the build directory".

Eclipse Luna does not have the path at project Properties and the WTP section

carbontax
  • 2,164
  • 23
  • 37
cosjav
  • 2,095
  • 1
  • 17
  • 17
  • I've since removed m2e-wtp which has solved the problem for me by default. So I can't easily verify this answer, but it certainly looks like a good option – Jelle van Geuns Jun 05 '13 at 17:21
  • 25
    For Eclipse Luna you have to go: Preferences > Maven > Java EE Integration and uncheck "Maven Archiver generates files under the build directory". Eclipse Luna does not have the path at project Properties and the WTP section. – Vitor Braga Apr 07 '15 at 12:28
  • 1
    Answer is outdated - see @VitorBraga's comment – OddDev Feb 22 '16 at 12:42
  • For me I could fix it by unchecking - Resolve dependencies from workspace projects – vishnu viswanath Apr 16 '16 at 23:51
  • having Eclipse Neon, I enabled (checked) Maven Archiver generates files under build directory – eeadev Nov 28 '17 at 13:43
  • issue appears to be captured by Jelle van Geuns's section. If parent module was built using mvn clean install, it will remove some required files for app deployment, which apparently can only be generated through IDE. There may be other arguments from commandLine to generate those. However, above fix worked for me in Eclipse Oxygen. – DevdattaK Dec 10 '17 at 16:25
  • why? what's the reason that make it run? – tremendows Jun 01 '18 at 16:18
34

This solution works for me Rightclick on Project --> Properties --> Maven --> Java EE Integration --> check enable project specific settings and disable Maven archiver generates files

29

Try to select your project, and clean it by using the menu :

Project>Clean

Then refresh your pom.xml. That worked for me .

Mehdi
  • 1,340
  • 15
  • 23
6

Try Eclipse -> Project -> Clean

Then right click Your project --> Team --> Share Project --> SVN --> Choose your svn and ok

Everything should be solved

Senthil kumar
  • 61
  • 1
  • 1
4

Right click on Your Project, go to properties and then to Project Facets, now go to Runtime tab on the right and select the server and click on apply, the error message would be gone.

Sender
  • 6,660
  • 12
  • 47
  • 66
sunny
  • 57
  • 3
3

In your pom.xml file check the following thing,

<build>
<finalName>Write a file name which is Your Maven Buid Name</finalName>
</build>
Vivek Gondliya
  • 308
  • 1
  • 2
  • 15
3
  1. Go to pom.xml
  2. Ctrl+a then Ctrl+x then Ctrl+s then Ctrl+v then Ctrl+s
  3. Right Click on project. Maven -> update project

This got solved for me.

vishal pathode
  • 138
  • 1
  • 7
2

manifest.mf is getting destroyed when we try to do maven build using mvn clean install. If we don't want to destroy manifest.mf file, just enter the command mvn install in the command prompt.

And if we missed the manifest.mf file, we can generate by uncheck & check the "Maven archiver generates files under the build directory" option in maven - JAVA EE integration as you said.

Nagappan
  • 346
  • 2
  • 8
2

Clean All Projects will solve this issue.

2

Right click on project > properties > maven > update project > select last three options > click ok

Done. It worked for me

0

Replacing manen to an external installation solved it for me.
Window -> Preferences -> [search maven in the search box] -> Installation Add a full external maven installation and select its checkbox. apply and restart.

ozma
  • 1,633
  • 1
  • 20
  • 28
0

Cleaning the project didn't do the trick,There were 2 external jars that were added to the build path removing them and moving them inside pom.xml really fixed the issue for me.

Aniruddha K.M
  • 7,361
  • 3
  • 43
  • 52
0

I use eclipse Luna and find it useless to enable project specific settings. Finally, I found the configure file org.eclipse.m2e.wtp.prefs in project .settings and change the configuration "org.eclipse.m2e.wtp.enableM2eWtp=true". It works after maven build the project. Hope this is help to people meets the same case as me. :D

0

For Marte Eclipse:

Go to: Window > Preference > Marven > Java EE Integration

Uncheck Marven Archiver generates files under the build directory.

It's Works

Ricardo
  • 422
  • 3
  • 11
  • 22
0

To make sure resources are properly refreshed, as maven cleans up target, you can setup maven build to automatically refresh project + target folder, etc.,.

Check the option to automatically refresh resources in your maven build

kisna
  • 2,869
  • 1
  • 25
  • 30
0

in my case (Eclipse Neon), I enabled Maven Archiver generates files under build directory

eeadev
  • 3,662
  • 8
  • 47
  • 100
-1

m2e-wtp plugin might generating an almost empty MANIFEST.MF in /target/m2e-wtp/web-resources/META-INF folder, no matter where you place the real MANIFEST.MF have a look at Virgo's admin console. Just browse the "bundles" category the bundle. You'll see what packages are being imported and exported FOR REAL.

So what you can do is copy the MANIFEST.MF to the /$VIRGO_BASE/stage/$BUNDLE_WEBAPP/META-INF directory and hit "redeploy" in Eclipse's Server View.

shijumax
  • 13
  • 5
  • 4
    the problem seems to be the reverse: I don't have a MANIFEST.MF file and m2e-wtp is looking for one. After doing a ```Maven->Update project...``` a default empty MANIFEST.MF will be generated, but somehow this gets removed in certain cases and not reliably regenerated. Not sure what Virgo is but I'm not using that. – Jelle van Geuns Feb 02 '13 at 22:48
-2

Just below the above line, I was getting an additional info saying "Out of Sync" I only ran project clean "my project" and bingo, it worked for me..