2013-10-09 4 views
1

Учитывая сценарий построения градиента с плагинами war, и eclipse-wtp.Gradle устанавливает абсолютные пути к репозиторию Maven в org.eclipse.wst.common.component

gradle eclipseWtp делают записи в org.eclipse.wst.common.component с абсолютными путями, которые не могут быть совершенны в хранилище исходного кода, так как они являются конкретным пользователем - см <dependent-module> элементов, более конкретно handle атрибутов:

[...] 
<dependent-module deploy-path="/WEB-INF/lib" handle="module:/classpath/lib/C:/Users/mp/.m2/repository/ognl/ognl/3.0.6/ognl-3.0.6.jar"> 
    <dependency-type>uses</dependency-type> 
</dependent-module> 
<dependent-module deploy-path="/WEB-INF/lib" handle="module:/classpath/lib/C:/Users/mp/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar"> 
    <dependency-type>uses</dependency-type> 
</dependent-module> 
<dependent-module deploy-path="/WEB-INF/lib" handle="module:/classpath/lib/C:/Users/mp/.gradle/caches/artifacts-24/filestore/org.springframework/spring-context-support/3.2.4.RELEASE/jar/bcb2341e76ef4621f2422b1f066fb34c42fad08d/spring-context-support-3.2.4.RELEASE.jar"> 
    <dependency-type>uses</dependency-type> 
</dependent-module> 
[...] 

Как Gradle приходит с более удобными для пользователя способами, например используя переменные M2_REPO?

+0

Есть ли какая-либо особая причина для регистрации сгенерированных файлов, потому что я уверен, что вы знаете, что каждый пользователь может просто генерировать их, выполняя «gradle eclipse»? –

+0

Только причина заключается в том, чтобы избежать возможных шагов Любой шаг, который должен быть сделан для пользователя, - это шаг t шляпа может быть забыта для пользователя. –

+0

Хорошо, я вижу вашу причину. Поэтому проверьте мой ответ ниже, который должен решить ваши проблемы :-) –

ответ

0

Как указано в документации Gradle (см http://www.gradle.org/docs/current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseClasspath.html) вы можете указать путь переменные:

eclipse { 
    // if you want parts of paths in resulting file to be replaced by variables (files): 
    pathVariables 'M2_REPO': file('C:/Users/mp/.m2/repository') 
} 

переменных должен быть установлен в Eclipse, с помощью «Настройки -> Java -> Build Path -> Classpath переменных и работает для .classpath, а также .settings/org.eclipse.wst.common.component

+0

Вы пробовали это? Для меня это работает только в случае .classpath, но org.eclipse.wst.common.component по-прежнему содержит абсолютные шаблоны ... – snorbi

Смежные вопросы