Gradle: как добавить банки ресурсов (не библиотеки) в корень войны?

В продолжающейся саге о попытках перехода от безумно сложной сборки ant к gradle — у нас есть несколько файлов jar ресурсов для «javahelp», которые я создаю. Они не содержат классов. Мне нужно добавить выходные данные проекта, который создает эти файлы jar ресурсов, в корень моей войны (не в WEB-INF/lib).

Мое предпринятое решение:

apply plugin: 'war'

//Move files into position for the mmplEar project
task stage(overwrite: true, dependsOn: war) << {
}

war {
    from project(':help:schedwincli').buildDir.absolutePath + '/libs'
    include '*.jar'
}

dependencies {
    //Ensure the jar is generated, but we don't want it in the lib dir
    providedCompile project(':help:schedwincli')
}

Это компилируется и запускается, а :help:schedwincli действительно запускается и генерирует необходимый jar-файл, однако, когда я открываю свой военный файл, ожидаемого jar-файла нет нигде в войне. Предложения?

Изменить

Я внес изменения, предложенные Питером ниже, но теперь я получаю эту ошибку:

Не удалось найти свойство «ресурсы» в контейнере конфигурации.

Вот где он говорит, что он терпит неудачу:

from '../../runtime', /*Fails on this line*/
    '../../runtime/html',
    '../../runtime/html/Jboss',
    '../../runtime/props',
    '../../runtime/props/Jboss',
    '../../scripts',
    '../../../proj/runtime',
    '../../../proj/runtime/html',
    '../../../proj/runtime/html/Jboss',
    '../../../proj/runtime/props',
    '../../../proj/runtime/props/Jboss',
    configurations.resources
include '*.css'
include '*.gif'
include '*.html'
include '*.jpg'
include '*.jnlp'
include '*.props'
include '*.properties'
include 'jsps/**'
include '*.jar'
include 'log4j/**'
include 'setupLdap.cmd'
include 'spreadsheets/*.xlsx'

person StormeHawke    schedule 30.10.2013    source источник


Ответы (1)


Вы хотите что-то вроде:

configurations {
    resources 
}

dependencies {
    resources project(':help:schedwincli')
}

war {
    from configurations.resources
}
person Peter Niederwieser    schedule 30.10.2013
comment
Спасибо за помощь. Теперь я получаю сообщение об ошибке: Could not find property 'resources' on configuration container. См. редактирование моего кода - person StormeHawke; 30.10.2013
comment
Похоже, вы забыли объявить конфигурацию, как это сделал я, или не объявили ее вовремя. - person Peter Niederwieser; 30.10.2013
comment
Я скопировал и вставил блок конфигурации в свой файл сборки. Нужно ли объявлять этот блок конфигурации на более высоком уровне? - person StormeHawke; 30.10.2013
comment
Что вы имеете в виду под или вы не заявили об этом вовремя? - person StormeHawke; 30.10.2013
comment
хорошо, неважно. Я подумал, что стоит попробовать изменить имя конфигурации с resources на helpJars, потому что я думал, что ресурсы могут конфликтовать с исходным/основным/ресурсным исходным кодом военной задачи или чем-то еще (не уверен, почему это произойдет, но решил, что это ничего не повредит для пытаться). Это решило проблему. - person StormeHawke; 30.10.2013
comment
Вы можете изменить имя на любое, которое вам нравится, если вы меняете его везде. - person Peter Niederwieser; 30.10.2013
comment
Да. Не знаю, почему resources не сработало, но сейчас работает. Спасибо! - person StormeHawke; 30.10.2013
comment
Питер, хотел бы я обратить ваше внимание на еще один из моих вопросов? stackoverflow.com/ вопросы/19692016/ - person StormeHawke; 05.11.2013