-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hello everyone,
First of all, I cannot overstate the beneficial effect that Maven has had on the development process at my organization. To the devs: thanks for the great tool! I have a pom that specifies two executions of the compiler plugin, with different phases specified and different configs, but they're not both running. (See pom excerpt below.) Is that expected? Can I configure multiple executions of the compiler plugin with different configurations? It seems like no - [1], [2], [3] - but I hope someone has an definitive answer. Here's some background on my problem, which I admit is fairly obscure. Basically, what I need to do is: 1 Compile class A in package org.myorg, which is annotated with @WebService 2 Run JAXWS's wsgen (via maven-jaxws-plugin) to make a WSDL from the compiled A.class 3 Run JAXWS's wsimport (via maven-jaxws-plugin) to make client-side bindings from the just-generated WSDL 4 Compile non-generated classes that reference the just-generated client bindings. These live in separate sub-packages - org.myorg.x, org.myorg.y, etc - and would have failed if compiled during step 1 because they reference code generated in step 3. I've included (what I hope are) the relevant sections of my pom below. PS: Do I need to do things this way? Unfortunately, I think so. Class org.myorg.A is a web service that needs to invoke other org.myorg.A web services arranged in a tree or mesh topology. I've tried to break out the bindings, the SEI (A), and the classes that abstract the connection between As using the client bindings into submodules, but I've only managed to introduce circular dependencies. In the past, I've dealt with this sort of chicken-and-egg problem by generating WSDLs and code and then checking them into source control. This feels bad, and makes updates if the interface of the SEI changes a hassle. I'd much rather define a simple SEI annotated with @WebService and have the low-level stuff (WSDLs, client bindings) generated from that. [1] http://weblogs.java.net/blog/ss141213/archive/2007/11/my_maven_experi.html [2] http://mail-archives.apache.org/mod_mbox/maven-users/200711.mbox/[EMAIL PROTECTED] [3] http://mail-archives.apache.org/mod_mbox/maven-users/200609.mbox/[EMAIL PROTECTED] | <plugin> | <artifactId>maven-compiler-plugin</artifactId> | <executions> | <execution> | <id>jaxws-pre-compilation-hack</id> | <!-- Hack to specify order of plugin application --> | <phase>process-sources</phase> | <configuration> | <source>1.5</source> | <target>1.5</target> | <includes> | <include>${source.dir}/org/myorg</include> | </includes> | <excludes> | <exclude>${source.dir}/org/myorg/x</exclude> | <exclude>${source.dir}/org/myorg/y</exclude> | </excludes> | <goals> | <goal>compile</goal> | </goals> | </configuration> | </execution> | <execution> | <id>normal-compilation</id> | <!-- Hack to specify order of plugin application --> | <phase>compile</phase> | <configuration> | <source>1.5</source> | <target>1.5</target> | </configuration> | <goals> | <goal>compile</goal> | </goals> | </execution> | </executions> | </plugin> | <plugin> | <groupId>org.codehaus.mojo</groupId> | <artifactId>jaxws-maven-plugin</artifactId> | <executions> | <execution> | <id>make-wsdl</id> | <!-- Hack to specify order goals are run in --> | <phase>generate-resources</phase> | <goals> | <goal>wsgen</goal> | </goals> | <configuration> | <sei>org.myorg.A</sei> | ... | </configuration> | </execution> | <execution> | <id>make-client-bindings</id> | <!-- Hack to specify order goals are run in --> | <phase>process-resources</phase> | <goals> | <goal>wsimport</goal> | </goals> | <configuration> | ... | </configuration> | </execution> | </executions> | ... | </plugin> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFIM3FkrZoE3ArapxERCMccAKDlPjEgU1qgJHl/HPohB/v11qLSGACgo4PY /TE9PQTQfVgGzt1zsee9gGo= =5LNh -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
