无法让 Netbeans 项目承认现有的 Tomcat 或 Glassfish 服务器

Posted

技术标签:

【中文标题】无法让 Netbeans 项目承认现有的 Tomcat 或 Glassfish 服务器【英文标题】:Can't get Netbeans Project to acknowledge existing Tomcat or Glassfish Server 【发布时间】:2020-07-24 09:38:18 【问题描述】:

我无法弄清楚我在这里缺少什么。

我已经安装了 Tomcat,并且可以正常运行。 (Glassfish也是,在我的努力中,但我在截屏时已将其删除。)

所以现在我想将我的项目连接到 Tomcat 实例,以便让 Netbeans 自动为我部署它。

我右键单击我的项目,转到“属性”。在项目属性中,我选择“运行”并转到下拉菜单以选择我的服务器。只是,没有服务器。

为什么这里没有出现?我是不是搞错了?

提前感谢您的帮助!

其他可能有用的注释: * 使用 Gradle(我第一次) * 使用 Spring Boot(我第一次) * 在 Windows 10 上(别恨我,我也不爱它)

【问题讨论】:

需要更多信息:[1] 要确定这是一般问题还是特定于该项目,请创建一个简单的新 Gradle Web 项目(File > New Project... > Java 与 Gradle > Web 应用程序)。当向导邀请您选择服务器时,是否提供了 Tomcat 作为选项,您能否成功构建、部署和运行该新项目? [2] Build > Compile > Java Platform 的损坏项目属性中显示了什么? 谢谢@skomisa。问题 1a:当向导邀请我选择服务器时,Tomcat 作为一个选项提供。相关信息:我确实没有使用向导来创建有问题的项目。我使用 start.spring.io 给我一个 ZIP,然后使用 File > Import Project > From Zip。 1b:它确实成功构建并运行,并声称也成功部署,但是我的 tomcat 管理器显示没有部署这样的应用程序。启动后我还收到一条消息说:“Undeployed the application at context path [/]”问题2:构建>编译> Java平台是JDK 1.8(默认) 好的,新信息,缩小范围。我创建了一个新的 gradle 项目,选择了我的 Tomcat。创建后,我将 build.gradle 文件的 build spring-boot-version 复制到新项目中,覆盖默认项目。然后我再次检查了项目属性,突然间,没有更多的服务器了。所以,罪魁祸首似乎是我从 spring.start.io 获得的 gradle 文件(不是因为错误而责备他们,只是认识到我的下一步)。所以接下来我需要弄清楚它在做什么以及它为什么会影响我的服务器。顺便说一句,大部分都在上面的屏幕截图中。 我似乎可以对 build.gradle 文件进行两项更改,其中任何一项都会导致服务器问题未显示在“项目属性”>“运行”部分中。 1) 如果我在 netbeans 创建项目时注释掉默认 build.gradle 文件中的这个依赖项:providedCompile 'javax:javaee-web-api:7.0' 甚至添加 spring-boot build.gradle 文件中的所有其他依赖项,可以选择服务器,直到我注释掉这一行。 2) 通过将存储库从 jcenter()(提供的一个 netbeans)更改为 mavenCentral()(提供的一个 spring-boot)。 好的。 [1] 值得在外部创建另一个(微不足道的)Spring Boot 项目并在 NetBeans 中导入/运行它,以查看问题是否可重现。那样有用吗? [2] 如果确实存在,则问题显然特定于您损坏的项目,但如果不是,则可能是与将 Spring Boot Gradle 项目导入 NetBeans 相关的问题。要获得这方面的帮助,您需要使用有关您最初如何创建项目以及如何将其导入 NetBeans 的详细信息来更新您的问题。您需要提供足够的详细信息,以便其他人可以尝试重现您的问题。 【参考方案1】:

我一直在寻找错误的问题。 Spring-boot 提供了一个嵌入式服务器,所以我不需要自己安装和提供。

我真正的问题是我为 jpa、postgresql 等声明了未在 application.properties 中配置的依赖项。当我尝试运行时,我会收到一条错误消息,提示“启动进程 /path/to/my/jdk/java.exe 时出现问题”。我不知道发生了什么,环顾四周,我看到了我在关于服务器的问题中提到的问题。

解决方案是在我的 build.gradle 中简单地注释掉依赖项,直到我准备好它们。在我设置好我的 PostgreSQL 数据库并将配置添加到 application.properties 之后,我能够取消注释它们并且它工作得很好。

【讨论】:

以上是关于无法让 Netbeans 项目承认现有的 Tomcat 或 Glassfish 服务器的主要内容,如果未能解决你的问题,请参考以下文章

我无法让 Netbeans C++ 工作,我做错了啥?

如何打开和运行现有的Vagrant / Homestead项目

Xdebug + XAMPP + Netbeans = 失败。无法让调试器在 Netbeans 中工作

如何在 NetBeans 8.2 中使用 Spring 5.0?

无法将核心数据文件添加到我现有的项目(版本控制问题)...?

无法在 Windows 机器上运行现有的 java Play Framework 项目