首页 > 解决方案 > Netbeans 11.2:没有为项目或全局定义合适的部署服务器

问题描述

我在我的 Mac 上安装了 Netbeans 11.2 IDE。在服务 -> 服务器下,我将 GlassFish Server 添加为服务器。

然后我打开了一个maven项目。我可以“清理和构建”它。然后我想运行它,但这导致以下错误消息:

No suitable Deployment Server is defined for the project or globally.

我想这与以下有关:Netbeans 中有一个名为“Output - Java DB Database Process”的窗口,当我启动 GlassFish Server 时,该窗口向我显示了这条消息:

Sat Feb 08 18:02:45 CET 2020 : Security manager installed using the Basic server security policy.
Sat Feb 08 18:02:46 CET 2020 : Could not listen on port 1527 on host localhost: java.net.BindException: Address already in use (Bind failed)

我使用以下命令检查哪个进程正在使用端口 1527:

sudo lsof -n -i :1527 | grep LISTEN

这导致了以下输出(注意:我删除了真实用户名和真实 IP 地址)

java    6722 <user>   36u  IPv6 <IP Address>      0t0  TCP 127.0.0.1:tlisrv (LISTEN)

由于这是一个 java 进程,我不想直接杀死它。

我应该怎么办?


PS:

GlassFish Server 的版本是 5.1.0,请参见屏幕截图:

在此处输入图像描述


PPS:这个问题对我没有帮助: NetBeans:没有为项目或全局定义合适的部署服务器


PPPS:服务器日志显示 - 除其他外 - 以下内容:

Context path from ServletContext:  differs from path from bundle: /|#]

这是日志的屏幕截图:

在此处输入图像描述


购买力平价:

文件 nb-configuration.xml 的内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
    <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
        <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>1.7-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
        <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>gfv3ee6</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
    </properties>
</project-shared-configuration>

标签: netbeansdeploymentglassfish

解决方案


对于 glassfish 5.1,您应该在nb-configuration.xml中更改此参数

  • netbeans_2e_hint_2e_j2eeVersion
  • netbeans_2e_hint_2e_deploy_2e_server

尝试将 gfv3ee6 更改 gfv5ee8然后1.7-web更改为1.8-web

对我来说,这个配置工作:

<properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
    <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>1.8-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
    <org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>ide</org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>
    <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>gfv5ee8</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
</properties>

它应该解决此错误:

No suitable Deployment Server is defined for the project or globally.

至于

Context path from ServletContext:  differs from path from bundle: /|#

错误尝试关闭(或杀死,包括 NetBeans 本身)所有 java 进程并再次启动 NetBeans 并运行项目。看起来您的项目已部署到 glassfish 的不同实例(以前的版本?)。

我想你不应该担心这些消息

Sat Feb 08 18:02:45 CET 2020 : Security manager installed using the Basic server security policy.
Sat Feb 08 18:02:46 CET 2020 : Could not listen on port 1527 on host localhost: java.net.BindException: Address already in use (Bind failed)

除非确实是因为以前的 glassfish 实例。在这种情况下,只需停止前一个实例或将其杀死。


推荐阅读