Hi Henrik, Looks like you've found a bug with regards to the system and test transitive dependencies being pulled in. I'll take a look at that in more detail and raise an issue for it.
I'd never noticed before but the same thing is happening in my project. I haven't got any system dependencies so that's not a problem but I've got junit in my jnlp bundle. Of course, that doesn't cause any trouble at runtime but still it shouldn't be there. Do you know why there is a dependency on the sun.jre:jnlp jar? Are you declaring it explicitly anywhere? Just curious about your Configurator project. You say it has 'pom' packaging? Shouldn't this be a 'war' project? To avoid pulling in both the obfuscated and unobfuscated core artifacts you could try declaring them with 'provided' scope in your client project. I often use provided scope to avoid these sorts of transitive dependency problems, not just with the webstart plugin. Cheers, Kevin "Henrik Dohlmann" <[EMAIL PROTECTED]> 19/10/2007 09:42 Please respond to [email protected] To <[email protected]> cc Subject RE: [mojo-user] Use webstart plugin with proguard Okay, tried it out with an even more depressing result. Not only are both the specified proguard classified artifact and the transitive dep unclassified artifact added, now I also get test and system scoped deps as well? What I have is the following: · Core ? normal pom using proguard plugin with attach to create both a core-version.jar and a core-version-pg.jar · Client ? normal pom that depends upon core using proguard plugin with attach to create both a client-version.jar and a client-version-pg.jar · Configurator ? pom pom where I use the webstart: jnlp-download-servlet goal bound to the package phase. The last one contains: <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>webstart-maven-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>jnlp-download-servlet</goal> </goals> </execution> </executions> <configuration> <jnlpFiles> <jnlpFile> <templateFilename>template.vm</templateFilename> <outputFilename>configurator.jnlp</outputFilename> <jarResources> <jarResource> <groupId>com.3dfacto.virtubuild</groupId> <artifactId>client</artifactId> <version>5.0-SNAPSHOT</version> <classifier>pg</classifier> <mainClass>defacto.clientgui.Configurator</mainClass> </jarResource> <jarResource> <groupId>com.3dfacto.virtubuild</groupId> <artifactId>core</artifactId> <version>5.0-SNAPSHOT</version> <classifier>pg</classifier> </jarResource> </configuration> </plugin> The result of running ?mvn clean package ?X? is as follows: [INFO] [webstart:jnlp-download-servlet {execution: default}] [INFO] No resources found in D:\3dwork_svn\configurator\src\main\jnlp\resources [DEBUG] Skipping disabled repository central [DEBUG] client: using locally installed snapshot [DEBUG] Checking if the loaded class contains a main method. [WARNING] Something failed while checking if the main class contains the main() method. This is probably due to the limited classpath we have provided to the class loader. The specified main class (defacto.clientgui.Configurator) found in the jar is *assumed* to contain a main method... defacto/read er/DFParser [DEBUG] Skipping disabled repository central [DEBUG] core: using locally installed snapshot [DEBUG] com.3dfacto.virtubuild:configurator:pom:5.0-SNAPSHOT (selected for null) [DEBUG] client: using locally installed snapshot [DEBUG] com.3dfacto.virtubuild:client:jar:pg:5.0-SNAPSHOT (selected for null) [DEBUG] core: using locally installed snapshot [DEBUG] com.3dfacto.virtubuild:core:jar:5.0-SNAPSHOT:compile (selected for compile) [DEBUG] backport-util-concurrent:backport-util-concurrent:jar:3.0:compile (selected for compile) [DEBUG] backport-util-concurrent:backport-util-concurrent:jar:3.0:compile (selected for compile) [DEBUG] junit:junit:jar:3.8.1:test (selected for test) [DEBUG] sun.jre:jnlp:jar:1.4:system (selected for system) [DEBUG] com.3dfacto.virtubuild:core:jar:pg:5.0-SNAPSHOT (selected for null) [DEBUG] core: using locally installed snapshot [DEBUG] transitively resolved artifacts = [backport-util-concurrent:backport-util-concurrent:jar:3.0:compile, com.3dfacto.virtubuild:client:jar:pg:5.0 -SNAPSHOT, com.3dfacto.virtubuild:core:jar:pg:5.0-SNAPSHOT, com.3dfacto.virtubuild:core:jar:5.0-SNAPSHOT:compile, sun.jre:jnlp:jar:1.4:system, junit:j unit:jar:3.8.1:test] [INFO] Creating JNLP output directory: D:\3dwork_svn\configurator\target\configurator-5.0-SNAPSHOT\webstart [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ I am not used to digest this output, so I do not know why core is mentioned 3 times at top-level. Is there any way I can resolve this? Would it help to try and make a multi-module project instead? Regards, Henrik From: Kevin Stembridge [mailto:[EMAIL PROTECTED] Sent: 18. oktober 2007 14:38 So, for a bit more info on how I'm using webstart and proguard: I have the following projects: * client - A normal maven jar project. * webstart - A normal maven war project. There are also more projects that are transitive dependencies of the client project. The client project uses the proguard-maven-plugin to create a second, obfuscated jar with a classifier, and the build-helper-maven-plugin to attach the extra jar to the project and install it in my local repository. It sounds like this is what you're already doing. The war project uses the webstart plugin to add a jnlp bundle. I can switch from using an obfuscated jars to a non-obfuscated jar just by commenting a single line in the pom.xml, the <classifier>obf</classifier>. Or I could have done it using profiles. Hope this helps. Let me know if you need more info. --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.
