可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.
回答1:
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
回答2:
This solution works for me
Rightclick on Project --> Properties --> Maven --> Java EE Integration --> check enable project specific settings and disable Maven archiver generates files
回答3:
Try to select your project, and clean it by using the menu :
Project>Clean
Then refresh your pom.xml. That worked for me .
回答4:
Try Eclipse -> Project -> Clean
Then right click Your project --> Team --> Share Project --> SVN --> Choose your svn and ok
Everything should be solved
回答5:
In your pom.xml file check the following thing,
<build>
<finalName>Write a file name which is Your Maven Buid Name</finalName>
</build>
回答6:
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.
回答7:
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.
回答8:
Clean All Projects will solve this issue.
回答9:
Right click on project > properties > maven > update project > select
last three options > click ok
Done. It worked for me
回答10:
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.
回答11:
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.
回答12:
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
回答13:
For Marte Eclipse:
Go to: Window > Preference > Marven > Java EE Integration
Uncheck Marven Archiver generates files under the build directory.
It's Works
回答14:
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
回答15:
in my case (Eclipse Neon), I enabled Maven Archiver generates files under build directory
回答16:
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.
回答17:
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..