Netbeans 11.2:没有为项目或全局定义合适的部署服务器

ste*_*ess 2 deployment netbeans glassfish

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

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

No suitable Deployment Server is defined for the project or globally.
Run Code Online (Sandbox Code Playgroud)

我想这与以下内容有关:Netbeans 中有一个名为“输出 - Java DB 数据库进程”的窗口,当我启动 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)
Run Code Online (Sandbox Code Playgroud)

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

sudo lsof -n -i :1527 | grep LISTEN
Run Code Online (Sandbox Code Playgroud)

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

java    6722 <user>   36u  IPv6 <IP Address>      0t0  TCP 127.0.0.1:tlisrv (LISTEN)
Run Code Online (Sandbox Code Playgroud)

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

我该怎么办?


PS:

GlassFish Server 的版本为 5.1.0,见截图:

在此处输入图片说明


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


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

Context path from ServletContext:  differs from path from bundle: /|#]
Run Code Online (Sandbox Code Playgroud)

这是日志的屏幕截图:

在此处输入图片说明


购买力平价:

文件 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>
Run Code Online (Sandbox Code Playgroud)

Dmi*_*y.M 7

对于 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>
Run Code Online (Sandbox Code Playgroud)

它应该解决这个错误:

No suitable Deployment Server is defined for the project or globally.
Run Code Online (Sandbox Code Playgroud)

至于

Context path from ServletContext:  differs from path from bundle: /|#
Run Code Online (Sandbox Code Playgroud)

错误尝试关闭(或终止,包括 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)
Run Code Online (Sandbox Code Playgroud)

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