[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [m2e-users] webby: Could not locate configuration for	maven-war-plugin | 
You are right. This was webby / m2eclipse-wtp conflict.  I was not able 
to cause Webby to regenerate target/m2e-webby directory with any refresh 
/ clean / build combination, until I've uninstalled m2eclipse-wtp 
connector.
Afterwards I managed to start my application with webby however it 
required clean / rebuild/ maven project configuration combo not only on 
the on web application itself, but also on all of the project providing 
war overlays. That's not a problem since I was recovering the workspace 
from an abnormal situation. Later I've removed the projects from 
workspace, blown away eclipse .settings, .project, .classpath and target 
directories and reimported them. Everyting built cleanly, 
cyklotron-webapp/target/m2e-webby/war was created and populated 
correctly, including overlay content and the application launched with 
no problems.
When both m2eclipse-wtp & webby were both installed, wtp connector 
"hijacked" war plugin and  no error message revealing lifecycle mapping 
conflict was given by m2e core, neither while importing projects into 
workspace or later.
 I think such problems should be detected and reported during import & 
maven project configuration update and reported in the same dialog that 
missing mappings are. I also think the user should be able to choose one 
of the conflicting configurators in the import dialog, and possibly 
change it later through project > Properties > Maven page. I understand 
that this poses an design problem because it would require remembering 
this choice on per-project basis, which would introduce third layer of 
lifecycle mapping configuration over runtime platform and POM hierarchy. 
Sure enough conflicts of this kind will arise (we just had a conflict 
between m2e-wtp and pomproperties recently!) and something needs to be 
done.
Overriding lifecycle mapping through POM is IMO not sufficient - in some 
cases you import foreign code into your workspace, and it's developers 
might have no idea / no interest in whatever m2e connectors you are 
using. You could modify their POMs locally, but when you are working on 
a team this needs to be done in multiple workspaces. In theory you could 
fork the foreign project to share customizations across the team, but 
that can quickly turn into maintenance nightmare... Workspace level 
lifecycle mapping override seems a convenient alternative, but of course 
feasibility of each option depends on the size of the team, complexity 
of the projects etc.
cheers,
Rafał
On 07/05/2011 07:52 PM, Benjamin Bentmann wrote:
Rafał Krzewski wrote:
When I tried running my application I got the follwing error message:
"Specified working directory does not exist or is not a directory:
/home/rafal/workspaces/cyklotron-indigo/cyklotron-webapp/target/m2e-webby" 
which is quite correct, because I've blown away the target directory
more than a few times while tweaking module packaging. I'd expect to
Webby to re-create this directory behind the scenes and not bail out
like this.
Yes, that's a sane assumption and this is how Webby generally works. 
Considering that you have also installed/experimented with m2e-wtp, to 
me the question is: Does Webby still run at all on your project? For 
instance, if after a refresh-clean-build cycle on the web project, no 
target/m2e-webby/war directory shows up at all, that would be a clear 
indication that Webby, or at least its build relevant part, has been 
taken out of the game.
By their nature, m2e-webby and m2e-wtp both report to m2e-core that 
they handle the maven-war-plugin. I currently can't tell what exactly 
is supposed to happen if two m2e extensions conflict like this.
Benjamin
_______________________________________________
m2e-users mailing list
m2e-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-users