maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Søren Krogh Neigaard <Soeren.Krogh.Neiga...@systematic.com>
Subject RE: Read properties from pom.xml from Java
Date Fri, 05 Feb 2010 06:45:51 GMT
Thank you all for your answers

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>

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
View raw message