Defining two "<execution>" tags with different map names should be the solution to that. And this should work. After all global and per-execution config merging is a feature of the Maven engine, and Cayenne does not mess with it. Try running mvn with the "-X" option. It will print the actual merged configurations for each plugin invocation and will help to debug the issue.
Andrus > On Feb 1, 2021, at 11:14 PM, Maria Huber <huber.maria...@gmx.de> wrote: > > Hey Andrus, > thanks for the help. Unfortunately this typing error doesn't solve my problem. > I want to define two different map-files and run for both the cgen command. > If possible this should work without running the modeler. > Is there any solution to realize this in version 4.2.M2 (except the execution > environment)? > The config outside configuration solution allows only to define one map. > > Kind regards, > Maria > > > On 2021/02/01 05:53:27, Andrus Adamchik <a...@objectstyle.org> wrote: >> Hi Maria,> >> >> This may be just a typo in your POM:> >> >>> <map>${project.basedir}/src/main/resources/scenario/my.map.xml</map>> >> >> vs> >> >>> <map>${project.basedir}/src/main/resources/my.map.xml</map>> >> >> >> ("scenario" folder is missing in the last case)> >> >> As an aside, since 4.1 CayenneModeler started to save your class generation >> settings in .map.xml in a portable way, so our default advice became to use >> CayenneModeler instead of Maven cgen for class generation. (But of course >> you can keep using Maven if that better fits your workflow).> >> >> Andrus> >> >> >>> On Jan 31, 2021, at 7:36 PM, Maria Huber <hu...@gmx.de> wrote:> >>>> >>> Hey,> >>> after spending quite some time, I still can't get the cayenne-maven-plugin >>> (4.4.M2) running as described in the latest "Cayenne-Guide".> >>> The problem is related to the execution environment.> >>> This setting works just fine:> >>>> >>> <plugin>> >>> <groupId>org.apache.cayenne.plugins</groupId>> >>> <artifactId>cayenne-maven-plugin</artifactId>> >>> <version>${cayenne.version}</version>> >>> <configuration>> >>> >>> <map>${project.basedir}/src/main/resources/scenario/my.map.xml</map>> >>> </configuration>> >>> <executions>> >>> <execution>> >>> <goals>> >>> <goal>cgen</goal>> >>> </goals>> >>> </execution>> >>> </executions>> >>> </plugin>> >>>> >>> But if I put the configuration inside the execution tag (as described in >>> the Cayenne Guide), Maven can't find the map property.> >>>> >>> <plugin>> >>> <groupId>org.apache.cayenne.plugins</groupId>> >>> <artifactId>cayenne-maven-plugin</artifactId>> >>> <version>${cayenne.version}</version>> >>> <executions>> >>> <execution>> >>> <id>execution1</id>> >>> <configuration>> >>> >>> <map>${project.basedir}/src/main/resources/my.map.xml</map>> >>> </configuration>> >>> <goals>> >>> <goal>cgen</goal>> >>> </goals>> >>> </execution>> >>> </executions>> >>> </plugin>> >>>> >>> This is the error message:> >>> "Failed to execute goal >>> org.apache.cayenne.plugins:cayenne-maven-plugin:4.2.M2:cgen (default-cli) >>> on project my-cayenne: The parameters 'map' for goal >>> org.apache.cayenne.plugins:cayenne-maven-plugin:4.2.M2:cgen are missing or >>> invalid"> >>>> >>> According to Stackoverflow, Maven handles the config-tag like this:> >>> 1. If the <configuration> is outside the <executions> , it is the >>> configuration for the plugin to be used no matter what the life-cycle phase >>> is.> >>> 2. If the <configuration> is inside the <executions>, it is the >>> configuration to be used in certain life-cycle phase.> >>>> >>> What could be the reason for this strange behavior?> >>>> >>> Kind regards> >>>> >>>> >>>> >>>> >>>> >> >> >