1

我在 NetBeans 中有一个 webapp 项目,我创建了一个“运行类 - 主方法”以编程方式启动

PayaraMicro.getInstance()....bootstrap();

然后,为了在 NetBeans 中编译和运行没有问题Shift+F6 Run.class,我必须将 Payara Micro 的这两个内部 JAR 放入 NetBeans 项目的库中。在这里,一切都好。

但是,当我需要用完 NetBeans 时,像这样:

java -jar payara-micro.jar --deploy mywebapp.war

我想从 中删除这两个 JAR mywebapp.war,因为我认为不需要它。但是,如果我从 .war 文件中删除,Payara Micro 将无法找到我的 REST Web 服务,并且会出现以下错误消息: Application mywebapp has no deployed JAX-RS applications.

我试图只删除两个 JAR 之一,同样的错误。两者都是我的战争所必需的。

我不明白为什么 Payara Micro(已经有这些 JAR)在我的战争中再次需要 JAR。

我使用版本 174。

4

1 回答 1

2

您需要配置 Netbeans 以便它不会将 JAR 打包到 WAR 中。您可以在项目属性、库中执行此操作,然后取消选中 Payara Micro JAR 旁边的“包”列中的复选框。然后,Netbeans 将在 WAR 文件中排除 JAR。

Payara Micro 在您的 WAR 中不需要这些 JAR。相反,他们不应该在那里。您的问题是 Netbeans 需要它们来编译您的应用程序,并且由于您的项目是 Web 应用程序,Netbeans 会自动将 JAR 文件放入 WAR。

于 2017-12-27T20:27:51.303 回答