我在Mac上安装了Netbeans 11.2 IDE。在服务->服务器下,我将GlassFish Server添加为服务器。
然后我打开了一个Maven项目。我可以“清理并构建”它。然后我想运行它,但是导致以下错误消息:
No suitable Deployment Server is defined for the project or globally.
我想这与以下内容有关: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)
我使用以下命令检查哪个进程正在使用端口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进程,所以我不想杀死它。
我该怎么办?
P.S。:
GlassFish Server的版本是5.1.0,请参见屏幕截图:
P.P.S .:这个问题对我没有帮助:NetBeans: No suitable Deployment Server is defined for the project or globally
P.P.P.S .:服务器日志显示-除其他外-以下内容:
Context path from ServletContext: differs from path from bundle: /|#]
这是日志的屏幕截图:
P.P.P.P.S:
文件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>
对于glassfish 5.1,您应该在nb-configuration.xml中更改此参数。
尝试用拳头将gfv3ee6
对我来说,这个配置:
<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实例(以前的版本?)。