gpt4 book ai didi

maven - 在 TOMCAT 8 中运行(部署?) "maven".war

转载 作者:行者123 更新时间:2023-11-28 22:54:10 26 4
gpt4 key购买 nike

首先,我对 Maven、Tomcat 或 Java 一无所知。

我有一个 .war 文件,其中包含一个网页和一个安装在 Mac (Yosemite) 中的 Tomcat 8 服务器。位于 /Library/Tomcat/webapps/wm-admin-ui.war。我还安装了 Maven (v3) 并配置了一个 tomcat 用户。

我需要在 Tomcat 服务器中运行 .war,该服务器显然打算由某些 Maven 插件部署。我想通了这一点,因为在 META-INF 中有一个 maven 目录,而通常的部署根本不起作用。请参阅下图作为引用。

事情是,

  • 如何在 tomcat 8 中安装 maven 插件? (我已经查过谷歌)
  • “部署”是“运行”的同义词吗?

“/Library/Tomcat/webapps/wm-admin-ui”的目录结构:

enter image description here

catalina.out 日志中的错误:

11-Aug-2015 10:23:43.128 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
11-Aug-2015 10:23:43.360 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/wm-admin-ui]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at com.toro.wm.configurations.WmWebApplicationInitializer.getSwaggerBasePath(WmWebApplicationInitializer.java:86)
at com.toro.wm.configurations.WmWebApplicationInitializer.onStartup(WmWebApplicationInitializer.java:70)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5156)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10 more

11-Aug-2015 10:23:43.362 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error durante el despliegue del archivo /Users/r01010010/Develop/apache-tomcat-8.0.24/webapps/wm-admin-ui.war de la aplicación web
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/wm-admin-ui]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

这是通过错误的代码:

private String getSwaggerBasePath() {
InputStream is = getClass().getResourceAsStream("/swagger.properties");
Properties properties = new Properties();
try {
properties.load(is);
is.close();
} catch (IOException e) {
LOGGER.error("Failed to handle stream for swagger.properties file ", e);
}

String context = properties.getProperty("swagger.base_path", "");

return (StringUtils.isEmpty(context) ? "" : context) + "/wm-admin-ui/rest";
}

最佳答案

似乎带有方法 getSwaggerBasePath 的类 com.toro.wm.configurations.WmWebApplicationInitializer 在加载某些属性文件时出现问题。

检查此类 WmWebApplicationInitializer.java:86 中的这一行。似乎您还没有部署关键文件,当应用程序初始化上下文时它需要该文件。

第二个问题是您需要将所有属性放在路径 WEB-INF/classes 中。

现在一切正常。

关于maven - 在 TOMCAT 8 中运行(部署?) "maven".war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31937458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com