Java 向基于Maven的项目添加Richfaces

Java 向基于Maven的项目添加Richfaces,java,eclipse,jsf,maven,richfaces,Java,Eclipse,Jsf,Maven,Richfaces,晚上好, 目前,我正在尝试将Richfaces添加到Eclipse中基于Maven的项目中。但是,在部署应用程序(Glassfish)时,我在浏览器中收到以下警告: 警告:此页面调用以前缀rich声明的XML命名空间h++p://richfaces.org/rich,但该命名空间不存在taglibrary 此外,我在控制台中没有收到任何错误消息 在Netbeans中,我第一次尝试Richfaces时遇到了同样的问题。但是,我可以通过右键单击web项目中的Dependencies文件夹,然后选择D

晚上好,

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

警告:此页面调用以前缀rich声明的XML命名空间h++p://richfaces.org/rich,但该命名空间不存在taglibrary

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

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

Eclipse中的项目使用JSF2.1(ApacheMyFaces2.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>

org.richfaces.ui


然而,问题依然存在。知道为什么会发生这种情况吗?

看起来Maven还没有将依赖项下载到其本地回购协议中。在eclipse中实现这一点的最简单方法是使用m2e插件。安装后,右键单击项目并选择

以>Maven Clean的方式运行

它试图清除我们在构建时生成的项目工作目录中的文件。您可以在此处阅读:

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

运行方式>Maven安装

用于将工件添加到本地存储库。您可以在此处阅读:


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

这是一个简短的烹饪方法,我发现在十几个承诺的简单JSF开始使用后,它仍然有效。我有一个由项目其他方面规定的目标。Netbeans和无大型服务器(如Glassfish、JBOSS)。我想从Tomcat开始,迁移到嵌入式服务器。我预料到了迁移的问题。为了找到一个有效的例子,我们花了大约4天的时间。从这里开始:

这真是令人失望,因为完全相同的演示花了30分钟。第一个问题是没有现成的运行示例。编写这些项目的人只需要不解释基本原理的flash示例。其次,当您使用Netbeans 8时,几乎没有什么能起作用。所以,在你找到适合你的方法之前,首先要做好准备

到目前为止,我让Netbeans 8和Tomcat 8运行这个示例。我很高兴,但是在开始的时候仍然有一个错误。xhtml工作正常,所以我算是赢了。如果您在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。我创建了Resources文件夹并重新生成了。这至少给了我一个POM文件。哦,是的,我正在使用maven 3,如果这对人们有帮助的话

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

mvn install
这也做了一些事情,但失败了。与编译有关的东西。在这一点上,我转向了Netbeans。POM文件没有作为项目加载,我必须单击“已解决问题”菜单选项

当我单击“解决”时,大多数问题都消失了

接下来是项目属性。主要的事情是设置Java版本(本项目为1.8)。设置所选的Tomcat服务器。检查组件库并确保选中RichFaces

单击build——它将构建。单击运行/调试。。。如果您的Tomcat安装都已设置好,它就可以工作了!来自Catalina的运行时错误。但是网页仍然会出现,并且错误不会显示出来(到目前为止,还不错……)

我还没看过。有关于不同类型的问题的注释,包括JAR和错误。我希望我会遇到一些事情,或者我会回来问一个关于错误的问题

你可能也会发现这些对解开毛线球很有用

  • 。。。这个网站非常好,作者正在花时间解释什么是有效的(为他)
  • 。。。这将是我下一个要构建的示例
  • [更新]
明白了

我在Netbeans(?)中发现了一些东西,特别是在清理或关闭Netbeans并重新打开项目之后

  • 想要更改我的服务器/Tomcat设置
  • 想要更改RichFaces(取消选中)
  • 标准maven插件缺少版本号(这是一个警告,很快就会出错)
  • 还可以查看Maven setting.xml文件(请参阅JBOSS手册)
  • 更改java net存储库的URL,如图所示:[更新]
  • 确保Tomcat Catalina部署文件夹是“干净的”:$Tomcat\conf\Catalina\localhost[更新]

希望一些关注这个话题的人能够通过这些例子向前迈出一步。祝你好运

谢谢你的回复。我已经这样做了,但它不能解决问题。richfaces JAR已经下载到名为C:/Users/MyUser/.m2/repository/org/richfaces/…的文件夹中。。。此外,在检查web项目的属性时,我可以看到richfaces已经添加到构建路径中。它显示为一个蓝点图标,然后显示“M2_Repo/org/richfaces/…-C:/Users/MyUser/.M2/repository/org/richfaces/…”@user2100776,首先检查您的名称空间是否正确:xmlns:rich=”“xmlns:a4j=“”,如果是这样,它仍然不起作用,那么,如果你能提供你的项目的详细信息,我可以很快地为你介绍一下。目前,我将只在Netbeans上工作,因为根据我的经验,它要容易得多,而且至少这个项目是与Richfaces一起工作的。无论如何,谢谢你的帮助。我可能对异常有一个答案:“LifecycleException:无法启动组件…”;当我查看Catalina/localhost时
 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)
      ....