Reputation: 19444
WAR
- META-INF
- WEB-INF
- classes
- META-INF
- myApp.properties <-- Needs added
How do I add a .properties file into my WAR using gradle? The file was later introduced into the project but doesn't get added?
build.gradle
import org.apache.commons.httpclient.HttpClient
import org.apache.commons.httpclient.methods.GetMethod
group = 'gradle'
version = '1.0'
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'eclipse'
eclipseProject
{
projectName = 'crap'
}
defaultTasks 'build'
dependencies
{
//all my dependencies
}
war
{
classpath fileTree('lib')
}
jar.enabled = true
[jettyRun, jettyRunWar]*.daemon = true
stopKey = 'stoppit'
stopPort = 9451
httpPort = 8080
scanIntervalSeconds = 1
Upvotes: 29
Views: 32298
Reputation: 11
I normally use an environments folder from which I pick a given configuration file based on the deploy variable. Ex.:
from("environments/system.${env}.properties"){
include "system.${env}.properties"
into 'WEB-INF'
rename("system.${env}.properties", 'system.properties')
}
the property is passed through gradle as:
./gradlew buildDocker -Penv=prod
Upvotes: 1
Reputation: 33436
Something like this should work:
war {
from('<path-to-props-file>') {
include 'myApp.properties'
}
}
If you want to specify which directory you want the properties file to be located in:
war {
from('<path-to-props-file>') {
include 'myApp.properties'
into('<targetDir>')
}
}
Upvotes: 32
Reputation: 3972
eg1:
war {
webInf{
from('PATH_TO_SOURCE_FOLDER') {
include 'FILE_TO_BE_INCLUDED'
into('TARGET_FOLDER_RELATIVE_TO_WEB_INF_DIR')
}
}
}
eg2:
war {
webInf{
from('src/META-INF') {
include 'persistence.xml'
into('classes/META-INF/')
}
}
}
For more information check the online documentation: Chapter 26. The War Plugin
Upvotes: 6
Reputation: 28653
war {
from('<path-to-props-file>') {
include 'myApp.properties'
into('<target-path>')
}
}
Upvotes: 51