为什么在使用primefaces的all-themes依赖时需要Primefaces Maven Repository? 当我只使用1个依赖时,我没有错误并且可以工作。 但是当我使用所有主题时,我会丢失工件org.primefaces.themes:all-themes.jar:1.0.10,但为什么?
<repositories>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
<layout>default</layout>
</repository>
</repositories>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>5.0</version>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.10</version>
</dependency>
答案 0 :(得分:2)
Maven的默认存储库是“maven central”。那里有很多工件,但有些供应商可能没有将工件放在那里,而primefaces就是其中之一。 Maven将在maven中心寻找jar并且找不到它。如果你没有指定它也应该在Primefaces Maven Repository(它确实有工件)中查找,它就找不到工件。
答案 1 :(得分:2)
人们已经决定不将他们的包交付到Maven中心,这就是为什么你需要单独定义主面库的原因。
出于这样的目的,最好开始使用存储库管理器,该管理器可以在公司的中心位置配置,以便公司使用primeface存储库。这将使生活更轻松。
答案 2 :(得分:2)
<强>问题:强>
但是当我使用所有主题时,我会丢失工件org.primefaces.themes:all-themes.jar:1.0.10
,但为什么?
<强>答案:强>
因为primefaces
repo中不存在您使用它的maven
全主题版本。目前maven
最新版本为1.0.8
。
<dependency>
<groupId>org.primefaces.extensions</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.8</version>
</dependency>
答案 3 :(得分:1)
或者,您可以使用Icefaces中的单个主题
<dependency>
<groupId>org.icefaces.ace-themes</groupId>
<artifactId>ace-sunny</artifactId>
<version>4.1.0</version>
</dependency>
在您的XHTML页面中包含样式:
<h:outputStylesheet name="theme.css" library="ace-sunny"/>