Yes, I thought about that last night, but according to the Maven 2 schema,
'false' is the default value for 'activeByDefault'.

But then again, you might be on to something, since Maven apparently thinks
that all three profiles are active (according to 'mvn
help:active-profiles'), which seems to contradict the schema's default value
of 'false'.

I going to try setting <activeByDefault>false</activeByDefault> explicitly
in the profiles.xml file tonight. I'll get back with my findings after I've
tried it.

I also remember reading somewhere that you can negate a profile activation
with e.g. 'mvn ... -P !prof1'. If this is true (I haven't tried it yet) it
would mean that all profiles are active by default(!), which is rather odd.



Carlos Alonso wrote:
> 
> Hi Danny.
> 
> I can guess that what you're missing is
> 
> <profile>
>     <id>prof1</id>
>      <activation>
>             <activeByDefault>false</activeByDefault>
>      </activation>
>     <properties>
>           .
>           .
>           .
> </profile>
> 
> So, it's up to you to specify from command line for example, the active
> profile you want.
> 
> 
> Danny escribió:
>> Hi!
>>
>> It seems that the profile activation isn't working for me, even though I
>> explicitly tell Maven to activate it with the -P option.
>>
>> Background:
>>
>> I have an external profile file (profiles.xml) that has some properties
>> in
>> each profile section: 
>>
>> <profiles>
>>   <profile>
>>     <id>prof1</id>
>>     <properties>
>>       <MyProp>X</MyProc>
>>     </properties>
>>   </profile>
>>   <profile>
>>     <id>prof2</id>
>>     <properties>
>>       <MyProp>Y</MyProc>
>>     </properties>
>>   </profile>
>>   <profile>
>>     <id>prof3</id>
>>     <properties>
>>       <MyProp>Z</MyProc>
>>     </properties>
>>   </profile>
>> </profiles>
>>
>> The resource file that I want to filter contains:
>>
>> # app.properties
>> ...
>> property=${MyProp}
>> ...
>>
>> I've already turned resource filtering on in the top-level POM. 
>>
>> If I do 'mvn help:effective-pom -Pprof1' (I tried with and without a
>> space
>> between '-P' and 'prof1', to no effect), sure enough, the filtering seems
>> to
>> be working:
>>
>> <project>
>> ...
>>   <properties> 
>>      <MyProp>Z</MyProp>
>>   </properties>
>> </project>
>>
>> I can even confirm this by looking in the processes resource file:
>>
>> # app.properties
>> ...
>> property=Z
>> ...
>>
>> For some reason I don't understand, it doesn't matter what profile I
>> speficy
>> with the -P option, Maven will consistently use the last profile (which
>> sets
>> the value 'Z', as described above). When I try to use the command 'mvn
>> help:active-profiles' it also states that it has understood that there
>> are 3
>> profiles:
>>
>> (output from mvn help:active-profiles)
>>
>> Active Profiles for Project '...': 
>>
>> The following profiles are active:
>>
>>  - prof1 (source: profiles.xml)
>>  - prof2 (source: profiles.xml)
>>  - prof3 (source: profiles.xml)
>>
>> ...
>>
>>
>> What am I doing wrong? I suppose I could use the <activation>-tags (I
>> have
>> none specified at the moment because I'm assuming that the -P option
>> takes
>> care of that(?)) and activate a profile with 'mvn -Dprof1 ...', but that
>> shouldn't be necessary, because the -P option should work, right?
>>
>>
>>
>>   
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://n2.nabble.com/Explicit-Profile-Activation-doesn%27t-work-for-me-tp834749p835720.html
Sent from the maven users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to