maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anders Hammar <and...@hammar.net>
Subject Re: Read properties from pom.xml from Java
Date Fri, 05 Feb 2010 07:08:15 GMT
> I tried adding the following to my pom.xml
>
> <properties>
>  <database.driver>oracle.jdbc.OracleDriver</database.driver>
>  <database.url>${database.url}</database.url>
>  <database.username>${database.username}</database.username>
>  <database.password>${database.password}</database.password>
> </properties>
>

Sure, that doesn't work. The properties you want to be set in settings.xml
(either globally or locally), you just skip those in your pom.
However, you should clearly state in the pom what properties are required. I
think I would use one set of properties to be defined in settings.xml and
then reference those when setting the properties in the project. IMO that's
a little bit more clear.
Like this:

<properties>
 <database.driver>oracle.jdbc.OracleDriver</database.driver>
 <database.url>${oracle.db.url}</database.url>
 <database.username>${oracle.db.username}</database.username>
 <database.password>${oracle.db.password}</database.password>
</properties>

/Anders


> And tried reading with System.getProperty("database.username"), but it gave
> me null.
>
> The reason for the ${database.url} and so on, is that it gets its values
> from either a default settings.xml or a user specific settings.xml, and that
> is how I need it to be. We are already using the sql-maven-plugin to
> bootstrap the database, but it only gets run once before all junit tests are
> run, and that is not what I need, I need it to run for every test to ensure
> a clean database.
>
> I can easily make some code that drops my tables and so on, but I need the
> correct database properties from the correct settings.xml.
>
> Bernd you talked about making a plugin that gets called before every test,
> how can I do this?
>
> Med venlig hilsen / Kind regards
>
>
> Søren Krogh Neigaard
> Systems Engineer
>
> Søren Frichs Vej 39, 8000 Aarhus C
> Denmark
>
> Mobile +4541965252
> soeren.krogh.neigaard@systematic.com
> www.systematic.com
>
>
> -----Original Message-----
> From: bernd.adamowicz@external.icw-global.com [mailto:
> bernd.adamowicz@external.icw-global.com]
> Sent: 4. februar 2010 11:59
> To: Maven Users List
> Subject: Re: Read properties from pom.xml from Java
>
> Sounds like this might help you:
>
> - Create a Maven plugin which is executed in any phase >>bevore<< test,
> e.g. 'generate-test-resources'. This will make it possible to set up the
> database. This plugin might help for starting the database (only if you're
> using HSQL):
>
> http://gforge.openehealth.org/gf/project/development/wiki/?pagename=Documentation+HSQLDB+plugin
> , but there are others, too.
>
> - Reading of POM-properties inside a Maven plugin is easy and described
> here:
>
> http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-mojo-params.html#writing-plugins-sect-param-values
>
> However, the scenario described by you clearly indicates that this is not
> a unit test instead it is an integration test where other rules/plugins
> might apply, e.g. maven-invoker-plugin. But this would recommend a
> restructuring of your project and might not be what you want.
>
> Bernd
>
>
>
>
>
>
> Søren Krogh Neigaard <Soeren.Krogh.Neigaard@systematic.com> wrote on
> 04.02.2010 09:59:26:
>
> > [image removed]
> >
> > Read properties from pom.xml from Java
> >
> > Søren Krogh Neigaard
> >
> > to:
> >
> > users
> >
> > 04.02.2010 10:00
> >
> > Please respond to "Maven Users List"
> >
> > Hi
> >
> >
> >
> > I have been tossed into a maven controlled project. We run our junit
> > tests from Eclipse and also on our build server. When ever they are
> > run, some maven magic happens so that username/password/driver/url
> > for the dabase is correctly set for the user pc or the buildserver.
> > However I need to make a small helper class for my junit tests that
> > wipes the database and loads some testdata on the database for every
> > junit test.
> >
> >
> >
> > The username/password/driver/url for the database is set in the
> > pom.xml file by maven. How do I read these values from my Java helper
> class?
> >
> >
> >
> > Best regards
> >
> > Søren
> >
> >
> >
>
>
>
> InterComponentWare AG:
> Vorstand: Peter Kirschbauer (Vors.), Jörg Stadler / Aufsichtsratsvors.:
> Prof. Dr. Christof Hettich
> Firmensitz: 69190 Walldorf, Industriestraße 41 / AG Mannheim HRB 351761 /
> USt.-IdNr.: DE 198388516  =
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message