В настоящее время у меня есть два проекта с градиентом build.gradle. Первый собирается создать файл жира, который я хотел бы включить в военный файл. Я думал, что скомпилировать его было бы достаточно, но, похоже, это не заканчивается в каталоге/lib моего военного файла. У кого-то есть мысли, я совершенно новичок в градиенте.Gradle включает в себя банку, изготовленную другим проектом на войне
dependencies {
compile project(':JarProject')
providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
providedCompile 'org.apache.tomcat:tomcat-jsp-api:7.0.55'
}
war {
archiveName 'WarProject.war'
from 'JarProject/build/libs'
webXml = file('src/web.xml')
}
Требуется ли вторая война проекта в условии времени выполнения? Или я должен опубликовать банку из другого проекта в локальном репозитории maven и включить его таким образом?
Спасибо за комментарий, я в настоящее время с помощью нескольких сборок проектов. Добавление 'from configurations.runtime' к созданию военного файла сбросило банку из другого проекта. Однако он также разместил все зависимости в каталоге корневой войны вместе с web-inf/lib. – user2524908
Вам все равно нужно «в» web-inf/lib », чтобы разместить их в другом месте, корень войны по умолчанию. Я просто понял, что ваш первоначальный пример имеет зависимость от времени компиляции 'JarProject', поэтому он должен включать его в войну без дополнительных усилий на вашей стороне. Возможно, вам понадобится предоставить больше от вас сценарии проекта и градиента, чтобы узнать, чего не хватает. Единственная общая причина, по которой я могу найти, - это [этот ответ] (https://stackoverflow.com/questions/30238040/missing-dependencies-in-war-gradle-build-project) – Alpar