You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Markos Fragkakis <Ma...@agilis-sa.gr> on 2009/04/14 14:50:05 UTC

Properties files proper location

Hi,

I am having some problems that I expected to be common, however I  
could not find a solution online for either.

I want create a maven project for a swing application. My IDE is  
Eclipse. In order to run, the application needs to read a a couple of  
text configuration files, which are located in a "params" directory,  
in the root directory of the application. So, if ${root} id the  
application directory, these files should be in ${root}/params.  
Furthermore, the application needs to log into the directory ${root}/ 
log.

Until now, without Maven, I had created the directories params and log  
(log was in .cvsignore) in my Eclipse project directory. Every time  
the project was run, the two directories were found and used.

Now, Maven puts its classes in target/classes. In order to run the  
project from within the IDE, I have put the two directories in the  
"resources" directory. So, when I compile the project, they are put  
inside the target directory, along with the classes and everything  
works. This placing, however, will put them also in the jar file of  
the project, which I would not like, since the configuration files in  
the params directory are supposed to be changes by the user.

What is the correct (by-the-book) placing of the files if I need to be  
able run my project as before, from within the IDE? Are there any  
additional steps, like using the assembly plugin to create the  
directory structure?

This is probably a best practices issue.

Any suggestions / ideas are welcome.

Best regards,
Markos Fragkakis

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Properties files proper location

Posted by David Hoffer <dh...@gmail.com>.
My take on this is that there is no 'standard' by the book so-to-speak maven
way of doing this.  The standard thing in maven is to create one artifact
per project so its standard to include files, etc in jar but not to
externalize them.  But that doesn't solve your problem.

However, like you suggested, you can add these other resources via the
assembly plugin however there is no standard folder(s) or practices here you
can do what you want.

If there is something more standard than this; I too, would like to know
about it.

-Dave

On Sat, Apr 18, 2009 at 7:12 AM, Stevo Slavić <ss...@gmail.com> wrote:

> Hello Markos,
>
> Maybe you could place fail-safe-params.properties with default settings
> within jar, thus within src/main/resources, and support them to be
> overridden by user using external params.properties file.
>
> Regards,
> Stevo.
>
> On Sat, Apr 18, 2009 at 2:52 PM, Markos Fragkakis <
> markos.fragkakis@agilis-sa.gr> wrote:
>
> > Markos Fragkakis wrote:
> >
> >> Hi,
> >>
> >> I am having some problems that I expected to be common, however I could
> >> not find a solution online for either.
> >>
> >> I want create a maven project for a swing application. My IDE is
> Eclipse.
> >> In order to run, the application needs to read a a couple of text
> >> configuration files, which are located in a "params" directory, in the
> root
> >> directory of the application. So, if ${root} id the application
> directory,
> >> these files should be in ${root}/params. Furthermore, the application
> needs
> >> to log into the directory ${root}/log.
> >>
> >> Until now, without Maven, I had created the directories params and log
> >> (log was in .cvsignore) in my Eclipse project directory. Every time the
> >> project was run, the two directories were found and used.
> >>
> >> Now, Maven puts its classes in target/classes. In order to run the
> project
> >> from within the IDE, I have put the two directories in the "resources"
> >> directory. So, when I compile the project, they are put inside the
> target
> >> directory, along with the classes and everything works. This placing,
> >> however, will put them also in the jar file of the project, which I
> would
> >> not like, since the configuration files in the params directory are
> supposed
> >> to be changes by the user.
> >>
> >> What is the correct (by-the-book) placing of the files if I need to be
> >> able run my project as before, from within the IDE? Are there any
> additional
> >> steps, like using the assembly plugin to create the directory structure?
> >>
> >> This is probably a best practices issue.
> >>
> >> Any suggestions / ideas are welcome.
> >>
> >> Best regards,
> >> Markos Fragkakis
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >> For additional commands, e-mail: users-help@maven.apache.org
> >>
> >>  Any suggestions? I believe this  is an issue other people have as well,
> > and many would benefit if solutions, or even a discussion is documented.
> >
> > Thanks,
> >
> >
> > Markos Fragkakis
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>

Re: Properties files proper location

Posted by Stevo Slavić <ss...@gmail.com>.
Hello Markos,

Maybe you could place fail-safe-params.properties with default settings
within jar, thus within src/main/resources, and support them to be
overridden by user using external params.properties file.

Regards,
Stevo.

On Sat, Apr 18, 2009 at 2:52 PM, Markos Fragkakis <
markos.fragkakis@agilis-sa.gr> wrote:

> Markos Fragkakis wrote:
>
>> Hi,
>>
>> I am having some problems that I expected to be common, however I could
>> not find a solution online for either.
>>
>> I want create a maven project for a swing application. My IDE is Eclipse.
>> In order to run, the application needs to read a a couple of text
>> configuration files, which are located in a "params" directory, in the root
>> directory of the application. So, if ${root} id the application directory,
>> these files should be in ${root}/params. Furthermore, the application needs
>> to log into the directory ${root}/log.
>>
>> Until now, without Maven, I had created the directories params and log
>> (log was in .cvsignore) in my Eclipse project directory. Every time the
>> project was run, the two directories were found and used.
>>
>> Now, Maven puts its classes in target/classes. In order to run the project
>> from within the IDE, I have put the two directories in the "resources"
>> directory. So, when I compile the project, they are put inside the target
>> directory, along with the classes and everything works. This placing,
>> however, will put them also in the jar file of the project, which I would
>> not like, since the configuration files in the params directory are supposed
>> to be changes by the user.
>>
>> What is the correct (by-the-book) placing of the files if I need to be
>> able run my project as before, from within the IDE? Are there any additional
>> steps, like using the assembly plugin to create the directory structure?
>>
>> This is probably a best practices issue.
>>
>> Any suggestions / ideas are welcome.
>>
>> Best regards,
>> Markos Fragkakis
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>  Any suggestions? I believe this  is an issue other people have as well,
> and many would benefit if solutions, or even a discussion is documented.
>
> Thanks,
>
>
> Markos Fragkakis
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Properties files proper location

Posted by Markos Fragkakis <ma...@agilis-sa.gr>.
Markos Fragkakis wrote:
> Hi,
>
> I am having some problems that I expected to be common, however I 
> could not find a solution online for either.
>
> I want create a maven project for a swing application. My IDE is 
> Eclipse. In order to run, the application needs to read a a couple of 
> text configuration files, which are located in a "params" directory, 
> in the root directory of the application. So, if ${root} id the 
> application directory, these files should be in ${root}/params. 
> Furthermore, the application needs to log into the directory ${root}/log.
>
> Until now, without Maven, I had created the directories params and log 
> (log was in .cvsignore) in my Eclipse project directory. Every time 
> the project was run, the two directories were found and used.
>
> Now, Maven puts its classes in target/classes. In order to run the 
> project from within the IDE, I have put the two directories in the 
> "resources" directory. So, when I compile the project, they are put 
> inside the target directory, along with the classes and everything 
> works. This placing, however, will put them also in the jar file of 
> the project, which I would not like, since the configuration files in 
> the params directory are supposed to be changes by the user.
>
> What is the correct (by-the-book) placing of the files if I need to be 
> able run my project as before, from within the IDE? Are there any 
> additional steps, like using the assembly plugin to create the 
> directory structure?
>
> This is probably a best practices issue.
>
> Any suggestions / ideas are welcome.
>
> Best regards,
> Markos Fragkakis
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
Any suggestions? I believe this  is an issue other people have as well, 
and many would benefit if solutions, or even a discussion is documented.

Thanks,

Markos Fragkakis

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org