【问题标题】:Run Java EE project without browser/web page在没有浏览器/网页的情况下运行 Java EE 项目
【发布时间】:2017-02-05 20:21:52
【问题描述】:

我正在学习 Java EE。我正在掌握 CDI、依赖项和上下文注入。目前似乎不太难。

现在我想尝试并实际编写一些代码。我安装了 NetBeans(使用 GlassFish 和其他所有东西),但我现在有点卡住了。

我的书(Goncalves 的《Beginning Java EE 7》)有一个很好的简单示例,演示了 EJB 和上下文/依赖注入、注释、拦截器、生产者等......在书中,他只是编写了他需要的代码,并添加了bean.xml,就是这样。他使用 maven,因此他向 Weld 添加了显式依赖项,并且能够在主类中实例化它,并在没有应用程序服务器的情况下运行它。

但是当我想创建一个新项目时,我基本上有两个选择,Web 应用程序和企业应用程序。

WebApp 让我可以使用所有 Java EE 规范,应用服务器负责实例化、生命周期和清理工作。很好,关键是为了运行我的代码,我需要一个网页(带有一个 servlet 和一个 html 页面)。无论如何我可以避免这种情况并有一个“正常”的应用程序吗? (重点是,我很不喜欢编写 HTML 代码,我宁愿随时使用命令行应用程序)。

我尝试创建一个企业应用程序,但它创建了三个项目(EJB、Web 和另一个)。老实说,我不知道要在这里碰什么,而且网络项目的存在有点告诉我,我仍然需要编写 html 和 servets。

【问题讨论】:

    标签: jakarta-ee glassfish


    【解决方案1】:

    “网络”和“企业”应用程序之间的区别已被多次回答,例如here.

    通常,您不需要企业应用程序,除非您知道自己需要。

    现在,根据您的具体说明,如果没有 HTTP 连接,您的应用程序会做什么?您是否在寻找 JMS 或类似的东西?在这种情况下,您可以只将 EJB 打包到 JAR 中并将其部署到您的应用服务器。

    否则,如果您只是想测试一下,您可以使用简单的方法测试自动生成的 Web 应用程序,而忽略它的 Web 部分。

    【讨论】:

    • 我想做的(无论如何现在)是编写一个小型交互式应用程序(以了解事物的工作原理),而不必处理 HTML 页面和连接。但如果可能的话,我仍然想使用 GlassFish 来为我管理事情,我只想在控制台上打印菜单和东西。
    • Java EE 不应该这样使用,所以你的方式不会很容易。我可以建议你遵循一个教程,可能是 Oracle 的:docs.oracle.com/javaee/7/tutorial
    • 哦,好的,我现在明白了。我实际上想知道我是否只是在尝试做一些不打算做的事情。我只是把它吸起来,然后写几个我猜的 html 页面。
    • Netbeans 包含一个 JSF 页面生成器,如果您已经有 JPA 实体来为您的数据建模。否则,我建议使用 Primefaces,它是 Java Server Faces 的丰富组件库,并提供了大量文档和示例:primefaces.org/showcase/ui/button/button.xhtml
    【解决方案2】:

    您的问题包含答案“He used maven”,而您正在尝试“Web ApplicationEnterprise Application”。如果您仍然对 Netbeans/Enterprise Apps 感兴趣,那么您正在做一些非预期的事情,可以选择在 Netbeans IDE 中创建 Maven 应用程序。

    我还没有完成教程,但你可以看看: https://netbeans.org/kb/docs/javaee/maven-entapp.html

    干杯

    【讨论】:

      【解决方案3】:

      如果要在 Netbeans 中创建 Maven 项目,则必须选择 maven 类别以供选择。在那里你会找到一个 Maven Web 项目模板。不要将此与“创建项目”对话框中的其他类别混淆 - 它们主要以基于 Ant 的格式创建项目,该格式特定于 Netbeans。

      您还可以在 Netbeans 中打开任何现有的 maven 项目。 您可以找到许多 Java EE 示例项目 in this github repository 来开始。

      【讨论】:

        猜你喜欢
        • 2020-10-07
        • 1970-01-01
        • 2014-03-20
        • 2012-07-06
        • 1970-01-01
        • 1970-01-01
        • 2021-11-12
        • 2021-01-13
        • 2018-09-30
        相关资源
        最近更新 更多