FAIL - 在上下文路径 / 上部署了应用程序,但上下文无法启动



我在 2 个独立的 Web 应用程序中工作,一个后置和前置应用程序。有趣的是,当我运行后端时,我没有任何问题。但是在前端我收到以下错误:

I have the following error in Netbeans 
NetBeans: Deploying on Apache Tomcat or TomEE
    profile mode: false
    debug mode: false
    force redeploy: true
Undeploying ...
undeploy?path=/
OK - Undeployed application at context path /
In-place deployment at D:WebDevelWebStoreWebFrontEtargetWeb-1.0-SNAPSHOT
Deployment is in progress...
deploy?config=file%3A%2FC%3A%2FUsers%7E1%2FAppData%2FLocal%2FTemp%2Fcontext7815575477480252472.xml&path=/
FAIL - Deployed application at context path / but context failed to start

两者都在同一个Tomcat上运行。 我的同事有相同的代码,它工作正常:-s

Context Path(或)Context Root对于服务器上部署的每个应用程序必须是唯一的。

因此,不能将具有相同上下文根的两个应用程序部署到同一服务器。似乎对于您的两个应用程序,上下文路径都是 / .

检查server.xml以查看它们都具有的上下文路径。如果它们不是唯一的,则更改它们以解决问题。

但是,如果您希望两个应用程序使用相同的上下文根,则需要将它们部署在两个不同的服务器中。

欲了解更多信息:Tomcat 上下文路径 configuration

在尝试将 Spring 启动 Web 应用程序从 jenkins 部署到外部 VM 时,我遇到了与以下相同的错误。在我查看tomcat日志后,我发现这是Java版本错误。我没有安装我的 Spring 启动应用程序支持的正确 java 版本。我安装了openjdk 8并从vm中删除了java7,它得到了解决。

以下错误背后的实际原因可能有很多。 因此,请检查您的tomcat/logs/catalina.out目录是否有确切的错误。 在 Jenkins 构建日志中,它没有给出实际错误。

FAIL - 在上下文路径 [/webapp] 但上下文中部署的应用程序

https://www.youtube.com/watch?v=1jsKGhXmm4c

我可能有点晚了,但我想说这可能是因为 Tomcat 8 中工厂名称的更改。因此,请按照以下步骤操作:

1)首先,看看你使用的是Tomcat 8或更高版本。

2) 如果是,并且 tomcat 无法部署您的应用程序。在调试模式下运行应用程序,并在 Tomcat 窗口中查看堆栈跟踪(在底部。与雄猫不同.log)。向下滚动窗口,看看是否可以找到这样的异常:
导致:java.lang.NoClassDefFoundError:无法初始化类org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory

3)如果您看到类似上面的内容,请打开您的 META-INF/context.xml并将资源标记中的工厂属性替换为:factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"

4) 重新启动 tomcat 并重新部署。

在很多链接不起作用之后,我遇到了这个问题,找到了这个解决方案。编辑服务器.xml 在 Tomee 服务器上为 appBase 提供完全限定的路径:

<Host name="localhost"  appBase="C:apacheapache-tomee-7.0.2-plumewebapps"
                  unpackWARs="true" autoDeploy="true">

如果您的上下文未正常启动,则会发生以下错误。实例 :您有调用方法的上下文侦听器,但该方法不存在。

我的问题是 web 中的语法错误.xml,我没有关闭元素

雄猫窗口(NetBeans)有一个明确的错误消息,感谢阿拉法特

01-Sep-2018 17:34:38.641 严重 [http-nio-8080-exec-5] org.apache.tomcat.util.digester.Digester.fatalError 第 50 行第 11 列处的解析致命错误:元素类型"param-value"必须由匹配的结束标记 " 终止。

我在解决netbeans上的此类问题时也遇到了麻烦。我一整天都在解决这个问题。已经尝试了许多解决方案,但在我尝试删除项目的"目标"文件夹并解决问题之前仍然没有任何反应!希望对您有所帮助!:)

我已经多次遇到这个问题,我尝试了以下步骤,它奏效了..!

1. 备份您当前的项目(为了安全起见)。

2. 找到项目文件夹位置(通常位于名为 NetBeansProjects"我的文档"或"文档"文件夹中)。

3. 打开项目文件夹并删除项目文件夹中名为目标的文件夹

4. 关闭 NetBeans,然后重新打开它并运行项目。

你很好去。

如果上述方法不起作用,请尝试从文件夹"Tomcat 9.0\conf\Catalina\localhost"文件夹中删除xml文件

由于

语法错误,我在使用 Java Web 时遇到了此错误:

我的 Servlet 代码应该是这样的:

@WebServlet(name = "EleicaoServlet", urlPatterns = {"/EleicaoServlet", "/main", "/insert", "/edit", "/delete", "/update"})

但是我忘了在"/update"中输入"/"

@WebServlet(name = "EleicaoServlet", urlPatterns = {"/EleicaoServlet", "/main", "/insert", "/edit", "/delete", "update"})

我得到了这个错误。

因此,如果上述任何内容都不起作用,您可能需要检查您的代码,这可能是像这样愚蠢的事情。

我已经尝试过

MVN 全新安装

并为我解决了同样的问题:)

"

上下文路径上未部署的应用程序" 发生此错误是由于将项目从一个系统复制到另一个系统时缺少某些文件。在应对时,请确保应复制所有文件。如果发生错误,请重新复制项目并导入它。它可能会起作用..

我刚刚遇到了同样的问题,我通过在根文件夹中向用户授予 Apache Server Foundation 的安全权限来解决

就我

而言,我删除了我在 web.xml 中添加的一些配置标签,试图配置一个 strut 包。我还分别删除了该包,重新启动了服务器,运行了项目,它工作了。

遇到同样的问题@一次。在其中一个实例中,它是由具有相同路由的多个方法的控制器引起的,例如

@RestController
public class UsersController
{   
    @Autowired
    UsersInterface userInterface;
    @RequestMapping(value = "/get", method = RequestMethod.GET)
    public String test()
    {
        return "Users";
    }
    @RequestMapping(value = "/get", method = RequestMethod.GET)
    public List<user> getUsers()
    {
        List<User> users = userInterface.getUsers();
        return users;
    }
}

如您所见,控制器有 2 个方法定义了两个 get 路由,因此 Spring 无法解析运行.../users/get路由的方法。

远程get路由之一并将其更改为其他路由。

我可能迟到了,但可能会在以后帮助其他人。

这可能是很多原因,但就我个人而言,最常见的是 web.xml 文件 servlet 声明。当我在 Mac 和 Linux 上交叉开发项目时,由于一些空间或新行问题,我看到文件在两个平台中的行为不同。我花了几个小时才发现,因为servlet数量超过20。最终,我奇怪地缩小到只有一个控制器类声明,并发现语法绝对完美。它让我感到困惑,所以我想我会在删除旧的声明和 BAM 后重写声明!它立即在Mac上运行。奇怪。

我遇到了这个问题,在尝试了其他几个建议之后,以下事情对我来说非常有效。

删除以下文件:

/apache-tomcat-9.0.13/conf/Catalina/localhost/*.xml

这有点晚了,但对于可能遇到相同错误的任何人来说。

对我来说,这个错误是由我的servlet中的错误语法引起的。

@WebServlet(urlPatterns = {"/x/login", "/x/register", "/x/logout", "x/createrestaurant"})

它看起来像上面,我得到了同样的错误。一段时间后,尝试在不同的服务器上部署(从Tomcat到Glassfish),Glassfish给了我更好的日志,我意识到语法应该是这样的

@WebServlet(urlPatterns = {"/x/login", "/x/register", "/x/logout", "/x/createrestaurant"}).

请注意 x/createrestaurant 之前的/

即使是新添加的项目,我也遇到了同样的问题,尝试了很多上面提到的东西。 对我有用的是手动停止安装目录 \Tomcat 9.0\bin Tomcat9w.exe 中的 Tomcat 服务。然后在 Netbeans IDE 中部署了以这种方式工作的项目。

失败 - 无法在上下文路径上部署应用程序...

我面临着同样的问题。但我解决了。请参阅以下步骤:

  1. 首先,停止已在后台运行的 Tomcat 服务,而不是在 Netbeans 中运行。为此,请转到任务管理器属性>服务>tomcat
  2. 右键单击雄猫服务以停止
  3. 现在,在那之后。关闭 netbeans IDE 并再次运行
  4. 右键单击项目并选择运行。项目将运行,没有任何问题

我希望上述解决方案对有相同错误的人有所帮助。

一个问题可能是您尝试使用的端口可能正在被另一个应用程序使用。尝试更改端口或清除该端口,它可能会正常工作。

通过停止 Tomcat 服务器解决了问题 sudo systemctl stop tomcat以便允许 Netbeans 运行它。如果 Netbeans 尝试部署应用程序时服务器已在运行,Netbeans 将显示 delopy 失败消息。

我遇到了同样的问题,但我只使用了 maven(没有 IDE)。我的 tomcat 版本是 tomcat7 7.0.70-1 和 jdk8(pom.xml<java.version>1.8</java.version> ) 事实证明 tomcat7 与 java 8 不兼容,所以,我在 <java.version>1.7</java.version> 上更改了java.version pom.xml,这就是解决方案!

我遇到了同样的问题,我通过从 IDE 停止 tomcat 并运行它自动启动 tomcat 的 Web 应用程序来解决此问题。这适用于 Netbeans IDE)。只需停止 Tomcat 并重新启动并重新部署 Web 应用程序即可。

相关内容

最新更新