2012-06-26 4 views
2

Я использую JBoss AS 7 с Maven, а также добавил RichFaces, что я почти уверен, не приходят с JBoss. Поэтому я добавил, что в моей pom.xml:Изменение зависимости унаследованной зависимости

<dependency> 
    <groupId>org.richfaces.core</groupId> 
    <artifactId>richfaces-core-impl</artifactId> 
    <version>4.1.0.Final</version> 
    <scope>compile</scope> 
</dependency> 

Но RichFaces также его зависимости, так и cssparsersac также поставляется с областью компиляции, но они также внутри JBoss AS 7, поэтому следующее предупреждение появляется, когда я запустить JBoss:

Deployment "deployment.test.war" is using a private module ("org.w3c.css.sac:main") which may be changed or removed in future versions without notice. 
Deployment "deployment.test.war" is using a private module ("net.sourceforge.cssparser:main") which may be changed or removed in future versions without notice. 

Я считаю, что это предупреждение появляется потому, что у меня есть этот модуль как на моей войне и на JBoss, так что я хочу знать: Существует способ, чтобы изменить сферу их при условии, в моем POM? Даже если они унаследованы?

ответ

1

Нет, вы не можете изменять области транзитивных зависимостей. Лучшее, что вы можете сделать, это исключить эти зависимости, используя <exclusions> в декларации зависимостей.

+0

Но исключая зависимости иногда могут сломать мой код, не так ли? – Montolide

+0

Конечно, он может. Но, как вы сказали, эти зависимости в любом случае предоставляются cointainer или что-то в этом роде. Я не сказал, что это лучший способ сделать что-то. К несчастью, это лучшее, что вы можете сделать с Maven. –

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