Reputation: 9591
I have a war packaging Maven project, in which I have a Java properties files called myapp.properties. In this properties file, I store some parameters, for example, database connection parameters, which will be used by the webapp.
Essentially, there are two versions of myapp.properties file I want to use in different cases. My question is, what is the Maven way to solve this problem? I use Eclipse + WTP + m2eclipse in my development environment, and I hope the solution can works well together with my development tools.
Upvotes: 3
Views: 1408
Reputation: 6630
i would try it with
pom.xml for your project (or parent pom)
<build>
...
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
...
</build>
in your properties file(s) e.g.
db.url=${db.url}
and in your settings.xml (see http://maven.apache.org/settings.html#Profiles)
<db.url>jdbc:mysql://localhost:3306/testdb</db.url>
depending on your development stage (local, build server, etc.) you can use different db.url values
this will not leave the db.url property blank, but each time you package the artifact you dont want it really to stay blank do you ?
Upvotes: 0
Reputation: 120771
You can have a look at this blog: http://blog.jayway.com/2010/01/21/one-artifact-with-multiple-configurations-in-maven/
They build different war-files and use different classifier (instead of different profiles). I am not sure if it is the maven way, but it works for some of my projects.
Upvotes: 4