将Richfaces添加到基于Maven的项目中

时间:2013-02-26 17:58:30

标签: java eclipse jsf maven richfaces

晚上好,

目前我正在尝试将Richfaces添加到Eclipse中基于Maven的项目中。但是,当我部署我的应用程序(Glassfish)时,我在浏览器中收到以下警告:

警告:此页面调用XML名称空间h ++ p://richfaces.org/rich,前缀为rich,但该名称空间不存在taglibrary。

此外,我的控制台中没有收到任何错误消息。

在Netbeans中,第一次尝试使用Richfaces时遇到了同样的问题。但是,我能够通过右键单击我的Web项目中的Dependencies文件夹,然后选择Download Declared Dependencies来解决这个问题。但是,我在Eclipse中没有这个选项。

Eclipse中的项目使用JSF 2.1(Apache MyFaces 2.1.5)。依赖关系添加如下:

    <dependency>
        <groupId>org.richfaces.ui</groupId>
        <artifactId>richfaces-components-api</artifactId>
        <version>4.2.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.richfaces.ui</groupId>
        <artifactId>richfaces-components-ui</artifactId>
        <version>4.2.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.richfaces.core</groupId>
        <artifactId>richfaces-core-api</artifactId>
        <version>4.2.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.richfaces.core</groupId>
        <artifactId>richfaces-core-impl</artifactId>
        <version>4.2.2.Final</version>
    </dependency>

尽管此代码在Netbeans中运行良好,但我也尝试遵循以下建议:

https://community.jboss.org/wiki/HowToAddRichFaces4xToMavenBasedProject https://community.jboss.org/wiki/MavenGettingStarted-Users

然而,问题仍然存在。任何想法为什么会发生这种情况?

2 个答案:

答案 0 :(得分:0)

看起来好像Maven没有将依赖项下载到其本地存储库中。在eclipse中执行此操作的最简单方法是使用m2e插件。安装完成后,右键单击您的项目并选择;

  

运行方式&gt; Maven Clean

尝试清除项目在构建时生成的文件的工作目录。您可以在此处阅读:http://maven.apache.org/plugins/maven-clean-plugin/

再次右键单击您的项目并选择:

  

运行方式&gt; Maven安装

用于将工件添加到本地存储库。您可以在此处阅读:http://maven.apache.org/plugins/maven-install-plugin/

尝试将其部署到您的服务器,它不应该抱怨缺少依赖项。一旦你对maven的概念感到满意,我建议你熟悉从命令行使用它。祝好运!

答案 1 :(得分:0)

这是我在大约十几个承诺简单的JSF入门后发现的简短烹饪方法。我有一个目标由项目的其他领域决定。 Netbeans 并没有大型服务器(例如)Glassfish,JBOSS。我想从Tomcat开始并迁移到嵌入式服务器。我预计迁移会出现问题。它已经用了大约4天的时间来找到一个有效的例子。从这里开始:

这真是令人失望,因为完全相同的演示需要30分钟的AngularJS。第一个问题是没有现成的示例运行。编写这些项目的人只是想要一些不能解释基础知识的flash示例。其次,当你使用Netbeans 8时,没有太多(几乎)没有任何效果。所以一开始就要做好准备,直到找到适合自己的东西为止。

到目前为止,我得到了Netbeans 8和Tomcat 8来运行这个例子。我很高兴但是在开始时仍然有错误。 index.xhtml工作正常,所以我在计算' win '。如果你在Windows上,你可能想在一行编辑它。

 mvn archetype:generate \
        -DarchetypeGroupId=org.richfaces.archetypes \
        -DarchetypeArtifactId=richfaces-archetype-simpleapp \
        -DarchetypeVersion=4.0.0.Final \
        -DgroupId=com.jasmineconseil.samples.richfaces4  \
        -DartifactId=richfaces4-start

这个生成并不完全有效。它在缺少资源/文件夹上挣扎。奇怪,因为它负责生成资源文件夹imho。我制作了resouces文件夹并重新生成了generate。那至少给了我一个POM文件。哦,是的,我正在使用maven 3,如果这有助于人们。

我移动到项目目录,以及安装POM的下一步:

mvn install

那也做了一些事情并且失败了。与编译有关。此时我转向Netbeans。 POM文件不作为项目加载,我不得不点击“已解决的问题”菜单选项。

当我点击解决时,大多数问题都消失了。

接下来,项目属性。主要是设置Java版本(此项目为1.8)。设置选择的Tomcat服务器。检查组件库并确保勾选了RichFaces。

点击构建 - 它构建。单击运行/调试...如果您的Tomcat安装已全部设置,它可以正常工作!来自Catalina的运行时错误。仍然会出现网页并且之后没有显示错误(到目前为止,那么好......)

 13-Aug-2014 00:04:11.058 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
  org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/hellojsf]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697)
      .... 

我还没有看过那个。 JavaHotChocolate上有关于不同种类的带有罐子和错误的问题的说明。我希望我会遇到一些事情,否则我会回到这里提出有关错误的问题。

你也可能会发现这些可以解开羊毛球。

得知 ......

我发现Netbeans(?)的一些事情,特别是在干净或关闭Netbeans并重新开放项目之后。

希望一些关于这个主题的人可以通过这些示例向前迈出一步。 Bon机会!