我正在Intellij(版本14.0.3)中使用Tomcat(Maven项目)开发一个非常简单的Java Web应用程序。当我编译和部署包(命令:" mvn clean package:使用Intellij)然后运行程序时,我得到一个弹出窗口"无法打开url。请检查此网址是否正确"。该网址为" http://localhost:8080/TimeDisplay/ShowTime.html"。不用说,当我尝试直接通过浏览器访问此URL时,我会进入我创建的页面。
以下是项目运行配置的相关字段:
Application Server :Tomcat 9.0.0.M3
打开浏览器:启动后,选择Firefox作为所选浏览器。该链接与我在错误中获得的链接相同。
开启'更新'操作:重新启动服务器
关闭帧停止:不执行任何操作
Tomcat服务器设置: HTTP端口:8080 JMX端口:1099
在部署标签下,我添加了#34; TimeDisplay:war爆炸" (TimeDisplay是我项目的名称)。
我的pom.xml如下:
<project xmlns="removed link due to low stackoverflow reputation" xmlns:xsi="removed link due to low stackoverflow reputation"
xsi:schemaLocation="removed link due to low stackoverflow reputation">
<modelVersion>4.0.0</modelVersion>
<groupId>com.amin</groupId>
<artifactId>TimeDisplay</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>TimeDisplay Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.24.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.24.1</version>
</dependency>
</dependencies>
<build>
<finalName>TimeDisplay</finalName>
</build>
</project>
我还附上了项目结构的截图。
值得注意的是,我最初能够通过Intellij运行程序,这个问题突然爆发,我没有做任何改动。目前我正在打包我的代码并在Tomcat中手动部署它,这是可怕的!
答案 0 :(得分:1)
好的,我解决了这个问题。似乎IntelliJ 14.0.3中存在一个错误。我删除了我的运行配置并使用相同的参数再次创建它,它立即开始工作。因此,作为一种解决方法,重新创建配置可以解决问题。
答案 1 :(得分:1)
可能有更多原因未在外部Web浏览器中显示网页。在我的情况下,问题是Idea尝试检测应用程序的部署方式。
我的Web应用程序使用单点登录,并且在没有身份验证的情况下进行请求时,应用程序会将用户重定向到外部站点以进行登录。但IntelliJ Idea可能正在尝试等待200响应并使用众多要求。对于未经身份验证的用户,应用程序的正确响应为302。如果在某个特定时间范围内没有发生,Idea会抱怨无法显示该页面,甚至不会尝试打开浏览器。