Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: file-management-1.2
-
Fix Version/s: file-management-1.2.2
-
Component/s: file-management
-
Labels:None
-
Environment:Windows XP Home SP2
JDK 1.6.0_11
-
Number of attachments :
Description
When running the code from this web site:
http://maven.apache.org/shared/file-management/examples/mojo.html
You will end up with the following problem:
Cause: Error loading class 'mypath.myplugin.Fileset'
The problem seems to be that the <fileset> child of the <configuration> pom.xml element is not translated to the corresponding "FileSet" (upper case S, package of the File Management API) class of Maven File Management API, but maven searches a "Fileset" (lower case S, different package) class in the custom plugin. So it seems the documentation on the web site is not complete, at least the part about "How to tell Maven how to map <fileset> to FileSet class?" is missing.
Activity
Benjamin Bentmann
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Benjamin Bentmann [ bentmann ] | |
| Fix Version/s | fiile-managment 1.2.2 [ 14970 ] | |
| Resolution | Fixed [ 1 ] | |
| Status | Open [ 1 ] | Closed [ 6 ] |
Fixed doc in r748822.
The problem is that the proper type cannot be derived from the collection type of the field filesets. One either has to declare collection-like parameters as arrays (whose component type is available at runtime for DI) or provide a properly named class that extends the desired type in the same package as the mojo (cf. the sources of the Maven Clean Plugin). Using arrays has the additional benefit that the generated plugin documentation can better indicate the type to the user (i.e. FileSet[] vs. just List).