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.neiga...@systematic.com
www.systematic.com


-----Original Message-----
From: bernd.adamow...@external.icw-global.com 
[mailto:bernd.adamow...@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.neiga...@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-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to