You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by LinaTomy <lt...@taxcient.com> on 2007/12/01 00:11:10 UTC
Re: Maven install
Its in my settings.xml. The ones there are the defaults.
I have a profile in profiles.xml which is not active by default. I only use
that with the -P switch when i do an install for generating a war fro my
deployment.
mmistroni wrote:
>
> Hi,
> where are your properties(i mean the 'replacement' properties)
> 'stored'?
> in your profile?
>
> On Nov 30, 2007 7:48 PM, LinaTomy <lt...@taxcient.com> wrote:
>
>>
>> Hi
>> I have the following structure
>>
>> src
>> |
>> ---main
>> |
>> ----resources
>> |
>> ---
>> A.properties
>> store
>> |
>> ----
>> 1.pdf
>> 2.pdf
>> data
>> |
>> ---
>> 1.xml
>> 2.xml
>>
>> When i do a maven install I need the following to happen
>>
>> 1. Filter only A.properties
>> 2. Do not filter any files under store
>> 3. Copy store to classes
>> 4. Do not copy store to war
>> 5. Copy filtered properties to both war and classes
>>
>> Also when I do a mvn install the properties files which is copied to war
>> is
>> not able to get the value for ${project.build.outputDirectory}.
>>
>> Could someone please help me with this.
>>
>> Below is my pom's snippet
>>
>> <build>
>>
>> <plugins>
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-war-plugin</artifactId>
>> <version>2.0.2</version>
>> <configuration>
>> <webResources>
>> <resource>
>> <directory>src/main/resources</directory>
>> <targetPath>WEB-INF/classes</targetPath>
>> <!-- Filter the properties file to replace
>> varibles with appropriate
>> values -->
>> <filtering>true</filtering>
>> <includes>
>> <include>*.properties</include>
>> </includes>
>> </resource>
>> </webResources>
>> </configuration>
>> </plugin>
>> </plugins>
>>
>> <!-- turn filtering on for the project's resources directory -->
>> <resources>
>> <resource>
>> <directory>src/main/resources</directory>
>> <!-- Filter the properties file to replace varibles with
>> appropriate
>> values -->
>> <filtering>true</filtering>
>> <includes>
>> <include>*.properties</include>
>> </includes>
>> <excludes>
>> <exclude>*.pdf</exclude>
>> <exclude>*.xml</exclude>
>> </excludes>
>> </resource>
>> </resources>
>>
>> </build>
>> --
>> View this message in context:
>> http://www.nabble.com/Maven-install-tf4923928s177.html#a14091357
>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Maven-install-tf4923928s177.html#a14097129
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Maven install
Posted by LinaTomy <lt...@taxcient.com>.
Thanks a lot for detailed reply.
I'll elaborate what I want to achieve
1. I need to filter A.properties. This file has a property
name={filtered.name} that needs to be filtered with a default value at all
times except when generating a war for deployment on an application server.
This file is directly under src/main/resources.
For this I have the following configured in pom.xml
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<webResources>
<resource>
<directory>src/main/resources</directory>
<targetPath>WEB-INF/classes</targetPath>
<!-- Filter the properties file to replace
varibles with appropriate values -->
<filtering>true</filtering>
<includes>
<include>*.properties</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
<!-- turn filtering on for the project's resources directory -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- Filter the properties file to replace varibles with
appropriate values -->
<filtering>true</filtering>
<includes>
<include>*.properties</include>
</includes>
</resource>
</resources>
2. I also have a folder store under src/main/resources. I want to copy this
to my default output directory classes directory where my compiled classes
reside, which I know is the common behavior. But I do not want to filter
any files under this folder.
I added this to the configuration for attaining this
<!-- turn filtering on for the project's resources directory -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- Filter the properties file to replace varibles with
appropriate values -->
<filtering>true</filtering>
<includes>
<include>*.properties</include>
</includes>
<excludes>
<exclude>*.pdf</exclude>
<exclude>*.xml</exclude>
</excludes>
</resource>
</resources>
But the files under the folder store still gets filtered.
3 and 4. I need the folder store in the classes directory on my local
development machine for running the application locally, but then I do not
need it in the war file for deployment on the application server coz it
there is a different location for that directory on the server which is what
the value that is in the properties file that is being filtered pertains to.
5. When i say war and classes, I mean classes folder on my development
machine and war file created for deployment. So the classes folder in the
war generated doesn't need the store folder under src/main/resources.
I always do a mvn install for building my application. When I need to
generate a war for deployment I do mvn install -P <name of profile with
values for filtering>
1 - is your project a .war project
Yes it is a war project. It is bundled as a jar when deployed. I run it
from my IDE when on local which is why i don't use the bundle when
developing. I jus access the classes folder thats generated from the build.
2 - if you have resources that need filtering and some others that don't,
why don't you use ${} in resources that must be filtered and leave plain
text in resources that don't need to be filtered ?
Thats what I have done i the properties file and that part works fine.
3 - what do you mean by .war and .classes? are we talking about same
project?
Sorry, but i was referring to the classes folder in the output
directory and the classes folder in the war package.
Thanks a bunch for this excellent reply though. I'm sorry I had not made
everything as clear as it should have been
--
View this message in context: http://www.nabble.com/Maven-install-tf4923928s177.html#a14134623
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Maven install
Posted by Marco Mistroni <mm...@gmail.com>.
Hi ,
let's start from what you want to achieve:
1. Filter only A.properties
First off, how many files need filtering?
If you need only A.properties (in whole application), the
A.propertiesshould be the only one which contains ${
your.property) tags.
If you have also B.properties that contains ${} and you don't want to filter
it, then when it will be copied in the \target\classes directory that file
will end up with still ${} tags.
2. Do not filter any files under store
you can still specify that under the <resources> xml tag. you will
have(Pseudocode) <resource><dir><filtering>true</filtering></dir><resource>
as well as <resource> dir2 <filtering>false</filtering>
3. Copy store to classes
if store is under src/main/resources, it will be copied automatically to
\classes
4. Do not copy store to war
well, store will end up in the \classes directory of your war file... i see
nothing wrong with that. if your \classes is part of building war...
5. Copy filtered properties to both war and classes
?
why you are mentioning \war and \classes
is your project building a \war? if so, then when the war will be
assembled, \classes directory will be part of it..
could you elaborate more if your project is a .war or .jar or so mething
else?>
i have plenty of projects i m doing that are building wars, using resources
and filtering.......
please provide answer to this question and i could help more
1 - is your project a .war project
2 - if you have resources taht need filtering and some others that don't,
why don't you use ${} in resources taht must be filtered and leave plain
text in resources that don't need to be filtered ?
3 - what do you mean by .war and .classes? are we talking about same
project?
regards
marco
On Nov 30, 2007 11:11 PM, LinaTomy <lt...@taxcient.com> wrote:
>
> Its in my settings.xml. The ones there are the defaults.
>
> I have a profile in profiles.xml which is not active by default. I only
> use
> that with the -P switch when i do an install for generating a war fro my
> deployment.
>
>
> mmistroni wrote:
> >
> > Hi,
> > where are your properties(i mean the 'replacement' properties)
> > 'stored'?
> > in your profile?
> >
> > On Nov 30, 2007 7:48 PM, LinaTomy <lt...@taxcient.com> wrote:
> >
> >>
> >> Hi
> >> I have the following structure
> >>
> >> src
> >> |
> >> ---main
> >> |
> >> ----resources
> >> |
> >> ---
> >> A.properties
> >> store
> >> |
> >> ----
> >> 1.pdf
> >> 2.pdf
> >> data
> >> |
> >> ---
> >> 1.xml
> >> 2.xml
> >>
> >> When i do a maven install I need the following to happen
> >>
> >> 1. Filter only A.properties
> >> 2. Do not filter any files under store
> >> 3. Copy store to classes
> >> 4. Do not copy store to war
> >> 5. Copy filtered properties to both war and classes
> >>
> >> Also when I do a mvn install the properties files which is copied to
> war
> >> is
> >> not able to get the value for ${project.build.outputDirectory}.
> >>
> >> Could someone please help me with this.
> >>
> >> Below is my pom's snippet
> >>
> >> <build>
> >>
> >> <plugins>
> >> <plugin>
> >> <groupId>org.apache.maven.plugins</groupId>
> >> <artifactId>maven-war-plugin</artifactId>
> >> <version>2.0.2</version>
> >> <configuration>
> >> <webResources>
> >> <resource>
> >>
> <directory>src/main/resources</directory>
> >> <targetPath>WEB-INF/classes</targetPath>
> >> <!-- Filter the properties file to
> replace
> >> varibles with appropriate
> >> values -->
> >> <filtering>true</filtering>
> >> <includes>
> >> <include>*.properties</include>
> >> </includes>
> >> </resource>
> >> </webResources>
> >> </configuration>
> >> </plugin>
> >> </plugins>
> >>
> >> <!-- turn filtering on for the project's resources directory -->
> >> <resources>
> >> <resource>
> >> <directory>src/main/resources</directory>
> >> <!-- Filter the properties file to replace varibles with
> >> appropriate
> >> values -->
> >> <filtering>true</filtering>
> >> <includes>
> >> <include>*.properties</include>
> >> </includes>
> >> <excludes>
> >> <exclude>*.pdf</exclude>
> >> <exclude>*.xml</exclude>
> >> </excludes>
> >> </resource>
> >> </resources>
> >>
> >> </build>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/Maven-install-tf4923928s177.html#a14091357
> >> Sent from the Maven - Users mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >> For additional commands, e-mail: users-help@maven.apache.org
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Maven-install-tf4923928s177.html#a14097129
> Sent from the Maven - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>