Hey Andrus, with this hint I could solved my issue. The problem was, that the cayenne:cgen command just calls the default-cli config info. To directly run a specific execution it is needed to extra define the execution id (e.g. mvn cayenne:cgen@cgen1). When the generate-source phase is reached, both goals are executed.
Thanks for your help. Maria On 2021/02/03 12:52:18, Andrus Adamchik <a...@objectstyle.org> wrote: > You have explicit execution ids (which is correct), while "default-cli" > mentioned in the previous log, refers to the default execution (not either of > the executions below). So yours are not called for some reason. > > > Try adding "<phase>generate-sources</phase>" to each execution. > > > Andrus> > > > > On Feb 3, 2021, at 3:45 PM, Maria Huber <hu...@gmx.de> wrote:> > > > > > > > > Hey Andrus,> > > this is the relevant piece of code:> > > > > > <build>> > > <plugins>> > > <plugin>> > > <groupId>org.apache.cayenne.plugins</groupId>> > > <artifactId>cayenne-maven-plugin</artifactId>> > > <version>${cayenne.version}</version> > > > > > > <executions>> > > <execution>> > > <id>cgen1</id>> > > <configuration>> > > > > <map>${project.basedir}/src/main/resources/mapA.map.xml</map>> > > </configuration>> > > <goals>> > > <goal>cgen</goal>> > > </goals>> > > </execution>> > > <execution>> > > <id>cgen2</id>> > > <configuration>> > > > > <map>${project.basedir}/src/main/resources/mapB.map.xml</map>> > > </configuration>> > > <goals>> > > <goal>cgen</goal>> > > </goals>> > > </execution>> > > </executions>> > > </plugin>> > > </plugins>> > > ...> > > </build>> > > > > > Thanks for your great support.> > > Maria> > > > > > On 2021/02/03 10:34:01, Andrus Adamchik <a....@objectstyle.org> wrote:> > >>> Maybe that why the mentioned error "The parameters 'map' for goal > >>> org.apache.cayenne.plugins:cayenne-maven-plugin:4.2.M2:cgen are missing > >>> or invalid" occurs.>> > >> > > >> Exactly. The question is why it is missing. Could you post the piece of > >> your pom with two executions?>> > >> > > >> Andrus >> > >> > > >> > > >>> On Feb 3, 2021, at 10:41 AM, Maria Huber <hu...@gmx.de> wrote:>> > >>>> > > >>> Hey Andrus,>> > >>> I added two execution tags within the execution environment. According to > >>> maven's '-X' output, the loaded configuration looks like this:>> > >>>> > > >>> ">> > >>> [DEBUG] Goal: > >>> org.apache.cayenne.plugins:cayenne-maven-plugin:4.2.M2:cgen > >>> (default-cli)>> > >>> [DEBUG] Style: Regular>> > >>> [DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>>> > >>> <configuration>>> > >>> <defaultDir default-value="${project.build.sourceDirectory}"/>>> > >>> <force default-value="false">${force}</force>>> > >>> </configuration>>> > >>> [DEBUG] > >>> =======================================================================>> > >>> ">> > >>>> > > >>> So the map information is missing. Maybe that why the mentioned error > >>> "The parameters 'map' for goal > >>> org.apache.cayenne.plugins:cayenne-maven-plugin:4.2.M2:cgen are missing > >>> or invalid" occurs.>> > >>> Is there any Maven settings to change this import behavior?>> > >>>> > > >>> Kind regards, Maria>> > >>>> > > >>>> > > >>>> > > >>> On 2021/02/02 07:21:48, Andrus Adamchik <a....@objectstyle.org> wrote:>> > >>>> 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 <hu...@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>>>> > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>> > > >>>>> > > >>>> > > >> > > >> > > > > > >