You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Andrus Adamchik <an...@objectstyle.org> on 2021/02/01 05:53:27 UTC

Re: cayenne-maven-plugin and its executions environment

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
> 
> 
> 
> 
>