Как добавить файл.properties в мою WAR, используя gradle?

WAR
   - META-INF
   - WEB-INF
       - classes
           - META-INF
               - myApp.properties <-- Needs added

Как добавить файл.properties в мою WAR, используя gradle? Файл был позже введен в проект, но не добавлен?

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

4 ответа

Решение

Примерно так должно работать:

war {
    from('<path-to-props-file>') {
        include 'myApp.properties'
    }
}

Если вы хотите указать, в каком каталоге вы хотите расположить файл свойств:

war { 
    from('<path-to-props-file>') { 
        include 'myApp.properties' 
        into('<targetDir>') 
    }
} 
war {
    from('<path-to-props-file>') {
        include 'myApp.properties'
        into('<target-path>')
    }
}

Например, 1:

war {
    webInf{
        from('PATH_TO_SOURCE_FOLDER') {
            include 'FILE_TO_BE_INCLUDED'
            into('TARGET_FOLDER_RELATIVE_TO_WEB_INF_DIR')
        }
    }
}

ЭГ2:

war {
    webInf{
        from('src/META-INF') {
            include 'persistence.xml'
            into('classes/META-INF/')
        }
    }
}

Для получения дополнительной информации обратитесь к онлайн-документации: Глава 26. Плагин войны

Я обычно использую папку сред, из которой я выбираю данный файл конфигурации на основе переменной deploy. Напр.:

from("environments/system.${env}.properties"){
        include "system.${env}.properties"
        into 'WEB-INF'
        rename("system.${env}.properties", 'system.properties')
}

свойство передается через gradle как:

./gradlew buildDocker  -Penv=prod
Другие вопросы по тегам