【问题标题】:Netbeans does not create ApplicationConfig.java when I create new RESTful web service当我创建新的 RESTful Web 服务时,Netbeans 不会创建 ApplicationConfig.java
【发布时间】:2016-05-05 17:02:00
【问题描述】:

我有一个我一直在 Netbeans 中开发的企业应用程序,我现在正在尝试将一些 RESTful Web 服务添加到 -war 模块。我遇到的问题是,当我使用 Netbeans 功能创建 Web 服务时,没有创建 ApplicationConfig.java 类。

我在网上找到的所有示例和教程都解释说,Netbeans 会自动生成一个扩展 Application 的 ApplicationConfig.java 类,并且通过编辑此类上的 @ApplicationPath 注释,我可以配置 web 的 URI服务将是可达的。事实上,如果我从头开始创建一个新的 Java EE 应用程序,然后从 Patterns 调用 New --> RESTful Web Services,这正是它的工作方式。但是当我用我正在开发的 Netbeans 项目尝试这个时,没有创建 ApplicationConfig.java。

我的问题:

1) 知道为什么会这样吗? Netbeans错误?是否存在一些已知的 Netbeans 不创建 ApplicationConfig 的情况?

2) 我可以自己手动创建一个 ApplicationConfig.java 吗?我已经看到使用空 ApplicationConfig 类的示例(不使用 Netbeans),除了提供放置 @ApplicationPath 注释以允许配置 URI 的该部分之外,它什么都不做。如果我这样做,Netbeans 会不会糊涂?

3) 我看到当 Netbeans 创建此类时,它包含覆盖 Application.getClasses 方法的代码。它看起来很简单,可以手动创建我自己的代码,它的功能与自动生成的代码完全相同。我需要吗?

我的环境的详细信息是:

  • 产品版本:NetBeans IDE 8.1(内部版本 201510222201)
  • 更新:NetBeans IDE 已更新至 NetBeans 8.1 补丁 1 版本
  • Java:1.8.0_92; Java HotSpot(TM) 64 位服务器 VM 25.92-b14
  • 运行时:Java(TM) SE 运行时环境 1.8.0_92-b14
  • 系统:在 amd64 上运行的 Windows 7 版本 6.1; CP1252; zh_CN (nb)
  • 项目类型:Java EE 7 应用程序
  • 服务器:Wildfly 9.0.2

谢谢!

邓肯

【问题讨论】:

    标签: rest jakarta-ee netbeans jax-rs wildfly-9


    【解决方案1】:

    是的,您可以手动创建它,但您必须在与您的 WebServicesClasses 相同的包中创建它,例如:

    import java.util.Set;
    import javax.ws.rs.core.Application;
    
    @javax.ws.rs.ApplicationPath("webresources")
    public class ApplicationConfig extends Application {
    
        @Override
        public Set<Class<?>> getClasses() {
            Set<Class<?>> resources = new java.util.HashSet<>();
            addRestResourceClasses(resources);
            return resources;
        }
        private void addRestResourceClasses(Set<Class<?>> resources) {
            //add all resources classes
            resources.add(jaca.server.webservice.PersonWebService.class);
        }
    }
    

    清理并构建您的项目,或重新启动您的 netbeans,因为第一次不起作用。

    【讨论】:

    • 是的,已经有一段时间了,但我认为这正是我所做的。但我必须说,包括“重新启动你的 netbeans,因为第一次不起作用”的答案让我怀疑微软是否已经接管了开发。这是开发人员需要考虑的事情。
    【解决方案2】:

    NetBeans 也没有为我创建 ApplicationConfig.java。问题是我创建了一个 Web 应用程序项目,然后添加了我的资源(REST 操作)。

    如果我创建 Web 应用程序项目并在添加我自己的资源之前添加“来自模式的新 RESTful Web 服务”,那么它会自动为我创建 ApplicationConfig。

    【讨论】:

      【解决方案3】:

      不确定这是否仍然相关,但我在使用 Netbeans 8.2 时遇到了同样的问题,经过多次折腾,我设法通过更改项目名称自动创建了 ApplicationConfig.java 文件。所以我猜如果你第一次创建项目并尝试删除并创建一个同名的项目,它不会创建文件。希望对某人有所帮助。

      【讨论】:

        【解决方案4】:

        NetBeans 在你添加注解后在类名中添加了一些提示,它必须给你添加 ApplicationConfig.java 类的选项,以及与 Jersey 相关的其他选项。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-10
          • 2011-02-12
          • 2017-02-13
          • 1970-01-01
          • 2019-01-08
          相关资源
          最近更新 更多