【问题标题】:Struts2 & NetBeans 7Struts2 和 NetBeans 7
【发布时间】:2011-08-08 18:32:20
【问题描述】:

我在任何地方都找不到对 NetBeans 7 的 ngbit 支持。我必须为我的 Web 应用程序开发安装 Struts2。对于 NetBeans 6.9,我的旧版本 ngbit 0.4 可以正常工作,但对于 NetBeans 7 则不起作用。由于 HTML5,我需要 NetBeans 7。

当我尝试安装 org-netbeans-modules-web-frameworks-struts2.nbm 时,NetBeans 给出以下错误:

有些插件需要安装插件编辑器库。 在版本 >= 2.10.1.10.2(发布版本 2)中请求插件编辑器库,但仅找到 3.8.1.13.8(与 2 不同的发布版本)。
以下插件受到影响: Struts2 支持

谢谢。

【问题讨论】:

    标签: netbeans struts2 netbeans-7


    【解决方案1】:

    如果您熟悉在 NB 中使用 maven,请关注 http://struts.apache.org/2.2.1.1/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to-build-the-application.html

    您很快就会拥有一个 S2 项目。 (我正在使用 NB7 和 Struts2)

    如果您有任何困难,请告诉我。

    编辑:如何使用 Netbeans 7 GUI 创建新的 Struts2 Maven Web 应用程序。

    1)文件>新项目,在类别下:Maven>在项目下:Web应用程序>下一步>在“名称和位置屏幕”上按照您想要的方式填写内容......

    2) 编辑:随着在线存储库状态的更新,您此时不需要添加任何其他存储库,请跳至#3。如果有人需要,我会将以下内容作为参考。

    现在,您应该在左侧的“项目”窗格中看到一个新项目。展开“项目文件”并打开 pom.xml。

    现在这个文件解释了如何构建你的项目......为了帮助你添加依赖项,我们将告诉 maven 几个在线存储库,它可以用来搜索 jar 文件

    找到</properties><dependencies> 之间的空白行,然后在它们之间粘贴以下内容...

    <repositories>
        <repository>
            <id>JBoss Repo</id>
            <url>http://repository.jboss.com/maven2</url>
            <name>JBoss Repo</name>
        </repository>
        <repository>
            <id>ibiblio mirror</id>
            <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
        </repository>
        <repository>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Maven Repository Group</name>
            <url>https://repository.jboss.org/nexus/content/groups/public/</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>
        <repository>
            <url>http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo</url>
            <id>eclipselink</id>
            <layout>default</layout>
            <name>Repository for library Library[eclipselink]</name>
        </repository>
    </repositories>
    

    也许它们不是全部都需要...但是这些涵盖了我现在拥有的所有依赖项基础,因此它们应该对您很好。如果你不做上面的步骤,我认为你仍然可以完成以下步骤,但是在添加 spring 和/或 hibernate 依赖项时可能会遇到问题

    保存并关闭文件。 现在 maven 将为我们处理很多依赖工作,您很快就会看到。

    3)

    a) 接下来在我们的项目树下,右键单击依赖项文件夹:在查询字段中输入:“struts2-core”,展开将出现在“搜索结果”下的下拉菜单并选择“2.2.1.1”版本来自ibiblio镜子。

    或者:您可以通过在 Group ID、Artifact ID 和 Version 字段(在 maven 中称为坐标)输入正确的值从上面完成 (a)。您应该知道正确的值,因为在 Step 3

    下的 http://struts.apache.org/2.2.1.1/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to-build-the-application.html 上已详细说明

    b) 按照上面的替代说明使用 gui 添加具有以下坐标的依赖项:

    <dependency>
    <groupId>javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.8.0.GA</version>
    </dependency>
    

    如果你检查你的 pom.xml 文件,你会看到上面的 xml 是如何为你添加到 pom 中的。

    c) 现在你是添加依赖的专家了,添加:

    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
    </dependency>
    

    这会处理 jar 文件。

    4) 添加配置文件。首先,我们需要知道您的项目在磁盘上的位置。您可能已经知道这一点,如果没有右键单击项目的根目录并选择“源”下的“属性”,它会告诉我们。

    a) 在 Netbeans 之外,使用您的操作系统文件导航器进入您项目的根目录。在此处打开 src/main 文件夹,您应该会看到“java”和“webapp”文件夹,创建一个名为“resources”的新文件夹,然后返回 Netbeans 7。

    您应该会在项目树下看到一个名为“Other Sources”的新节点。

    b) 展开Other Sources,展开“src/main/resources”,右键默认包,new > other,分类:XML,文件类型:XML文档,然后下一步。输入:struts(一定不要把.xml放在最后,它将为你添加),留在格式良好的文档上,完成。

    将struts.xml的内容替换为:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
      <constant name="struts.devMode" value="true" />
    </struts>
    

    c) 像在 b 中所做的那样添加另一个名为“log4j.xml”的 xml 文件(记住不要在文件名中添加 .xml)。

    将以下内容粘贴到该文件中:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
    
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    
        <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
           <layout class="org.apache.log4j.PatternLayout"> 
              <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/> 
           </layout> 
        </appender>
    
        <!-- specify the logging level for loggers from other libraries -->
        <logger name="com.opensymphony">
            <level value="DEBUG" />
        </logger>
    
        <logger name="org.apache.struts2">
             <level value="DEBUG" />
        </logger>
    
       <!-- for all other loggers log only info and above log messages -->
         <root>
            <priority value="INFO"/> 
            <appender-ref ref="STDOUT" /> 
         </root> 
    
    </log4j:configuration> 
    

    d) 配置web.xml,在项目根目录下,展开“Web Pages”节点,如果不存在则创建一个名为“WEB-INF”的文件夹。在名为 web.xml 的 WEB-INF 文件夹下创建一个新的 xml 文件。

    将以下内容粘贴到 web.xml 文件中:

        <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
        </filter-mapping>
    </web-app>
    

    最终测试:现在您应该可以点击运行按钮,选择您喜欢的 Web 服务器(tomcat 或 glassfish)并查看 hello world 页面...听起来很成功。但现在还没有(如果您创建了一个新的 Maven Web 应用程序,除了点击运行按钮之外什么都不做,您会看到相同的页面,您需要做的是输入一个 不存在,例如在操作结束时输入“test”。

    如果你得到一个网页说:没有为命名空间/和动作名称测试映射的动作。然后 struts2 正在处理请求,我们知道一切都很好。

    我希望我写得正确,如果您需要有关如何在 NB7 中向 struts2 添加弹簧或休眠的说明,我当时也可以概述这些。

    【讨论】:

    • 对不起,我还不熟悉 maven
    • 几个小时后,我将有时间解释如何在 NB GUI 中设置一个 Struts2 Maven Web 项目,这非常简单(一旦你知道怎么做)。
    • 嘿,太棒了,谢谢,但如果你能提供一些关于添加 Spring 和 Hibernate 的信息,请,因为我很困惑。使用 Struts2 似乎一切正常,谢谢 :)
    • 如果此解决方案解决了 Struts2 问题,请标记为已解决,同时添加 Spring 和 Hibernate 会使此答案太长,请针对每个问题打开问题。
    【解决方案2】:

    插件已更新,可在 Netbeans 7.x 中使用!
    http://plugins.netbeans.org/plugin/39218

    【讨论】:

      猜你喜欢
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多