You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jason van Zyl (JIRA)" <ji...@codehaus.org> on 2009/12/30 20:23:55 UTC
[jira] Updated: (MNG-3262) Problem accessing dependency resource
via reflection in maven 2 plugin
[ http://jira.codehaus.org/browse/MNG-3262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl updated MNG-3262:
-------------------------------
Fix Version/s: (was: 2.2.x)
3.0-alpha-7
> Problem accessing dependency resource via reflection in maven 2 plugin
> ----------------------------------------------------------------------
>
> Key: MNG-3262
> URL: http://jira.codehaus.org/browse/MNG-3262
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Plugins and Lifecycle
> Affects Versions: 2.0.7
> Reporter: Gary S. Weaver
> Fix For: 3.0-alpha-7
>
> Attachments: trunk-exampleproject.tgz, trunk-i18nsanity-pt.tgz
>
>
> I've written a Maven 2 mojo that is having trouble instantiating (via reflection) a properties resource of dependency that is included as a "compile"-scope dependency in the project (pom.xml) that is utilizing my plugin.
> (Even though I need the plugin to access a dependency that is in "provided" scope, for now I'm using compile scope since the maven documentation states that @requiresDependencyResolution doesn't support provided scope.)
> Here are the details:
> 1) I have the following dependency:
> ---start---
> <dependencies>
> <dependency>
> <groupId>com.atlassian.confluence</groupId>
> <artifactId>confluence</artifactId>
> <version>2.6.0</version>
> <scope>compile</scope>
> </dependency>
> </dependencies>
> ---end---
> 2) In the pom.xml of the project that utilizes my plugin, the mojo of the plugin I wrote is configured with the execution:
> ---start---
> <execution>
> <id>get_ConfluenceActionSupport.properties</id>
> <phase>compile</phase>
> <goals>
> <goal>extractProperties</goal>
> </goals>
> <configuration>
> <fullyQualifiedProperties>com.atlassian.confluence.core.ConfluenceActionSupport.properties</fullyQualifiedProperties>
> <outputFile>target/classes/com/atlassian/confluence/core/ConfluenceActionSupport.properties</outputFile>
> </configuration>
> </execution>
> ---end---
> 3) In the Maven 2 mojo it calls the following code (just copied/pasted the relevant portion):
> ---start---
> // load properties with reflection and save to file
> InputStream in = null;
> OutputStream out = null;
> boolean foundFile = false;
> try {
> String resource = cleanResourceName(fullyQualifiedProperties);
> System.out.println("Getting " + resource);
> in = getClass().getResourceAsStream (resource);
> if (in != null)
> {
> Properties result = new Properties();
> result.load (in); // Can throw IOException
> out = new BufferedOutputStream(new FileOutputStream(outputPathname));
> result.store(out, "");
> foundFile = true;
> }
> }
> ---end---
> When executed, it can't find the properties file in the classloader. As you can see from the following output, I'm putting the resource string together correctly as "/com/atlassian/confluence/core/ConfluenceActionSupport.properties" which if you interrogate the above confluence dependency, you should be able to find.
> ---start---
> [INFO] [i18nsanity-pt:extractProperties {execution: get_ConfluenceActionSupport.properties}]
> [INFO] Extracting properties file from classpath... fullyQualifiedProperties=com.atlassian.confluence.core.ConfluenceActionSupport.properties outputFile=/usr/svn/community/confluence/plugins/americanenglishlanguagepack/trunk/target/classes/com/atlassian/confluence/core/ConfluenceActionSupport.properties
> Getting /com/atlassian/confluence/core/ConfluenceActionSupport.properties
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed properties extraction!
> Embedded error: Could not find properties file on classpath: com.atlassian.confluence.core.ConfluenceActionSupport.properties
> ---end---
> Thanks!
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira