Hello Thomas, thank you very much, but I only understand parts of your posts, because maven is still new to me...
Actually, nothing. Nothing on the Maven side though. > Yes, I can validate this by doing mvn gwt:devmode and the app works, nevertheless what eclipse thinks is wrong... > The problem is with M2Eclipse, but I don't know it enough to know how > you're supposed to work with it and give you any guidance here. > Well, I was used to do everything in eclipse: create gwt project, compile, run, debug, ... I just migrated one general library (pure java and gwt code) and two apps (which I recreated with webAppCreator -templates maven) to maven. When I make changes to the library, I execute mvn clean compile package install. I feel that some of these goals should be triggered by others, but I call them all to make sure to end up in a defined state. When I make changes to one of the apps, I execute mvn clean compile package gwt:devmode. I know that all these goals must be redundant and triggered by each other somehow, but during the migration of my projects I have seen many problems that disappeared when repeating the different maven goals... The problem is that "mvn war:war" is somehow invoked (do you invoke it > yourself manually, from within Eclipse? possibly as "mvn package") and it > resolves its dependencies from the workspace (by default at least), similar > to a reactor build. > To reproduce the problem I don't need to call anything: I simply open the pom.xml in eclipse, remove the "provided" scope, and save the pom.xml file. Then, immediately, the error marker appears. BTW: I don't know "reactor builds", so I cannot follow your additional words: > But when resolving the library, it won't build/package it! and Maven's > default behavior when trying to resolve unpackaged dependencies from a > reactor build, is to take target/classes if the dependency has > <packaging>jar</packaging> > This can happen in regular reactor builds when you e.g. run "mvn test": > it'll run "mvn test" on the first submodule, then "mvn test" on the second > submodule, and if the second submodule depends on the first one, then its > target/classes is used (because "test" comes before "package" in the > lifecycle). This is a design flaw in Maven (if you ask me > <http://blog.ltgt.net/maven-is-broken-by-design/>), and one of the > reasons I generally recommend using other builds tools (e.g. Gradle) > instead. > If you disable resolution of dependencies from the workspace in Eclipse, > then the "mvn war:war" will resolve the library from the local repository > instead (which means you'd have to "mvn install" the library to have the > app see the changes). > The only thing I understand in this paragraph is that I have to "mvn install" the library, what I am actually doing, so that the apps can see it. Since my app works when doing everything on the command line, the only thing I want is that the error markers disappear (assuming that they are false positives)... > My (personal) recommendation is to work with reactor (multi-module) > builds, to only ever execute Maven commands on the root module, and to only > ever use the "package" and "verify" lifecycle phases (and possibly > "install" and/or "deploy" if you really need them). > I would like to follow this recommendation, but what exactly do I have to do? This is one reason I built the net.ltgt.gwt.maven:gwt-maven-plugin, because > the old org.codehaus.mojo:gwt-maven-plugin could work that way. > This is one big questionmark for me! I am evaluating the different GWT maven plugins for a while, and I learned that yours is the one that is recommended. Then, I found that webAppCreator -templates maven creates a project template that I can work with. And I noticed net.ltgt.gwt.maven in the pom.xml. Therefore, I thought that I am using your plugin. But the error message discussed here is a "MojoExecutionException". The word "Mojo" seems to refer to the other plugin. That's confusing to me. Can you resolve this? Magnus -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/d/optout.
