Запустите (разверните?) "Maven" .war в TOMCAT 8

Во-первых, я понятия не имею о Maven, Tomcat и Java.

У меня есть файл.war с веб-страницей и сервером Tomcat 8, установленным на Mac (Yosemite). Находится по адресу /Library/Tomcat/webapps/wm-admin-ui.war, У меня также Maven (v3) установлен и настроен с пользователем Tomcat.

Мне нужно запустить.war на сервере Tomcat, который, по-видимому, предназначен для развертывания каким-либо плагином Maven. Я понял это, потому что есть maven каталог в META-INF и обычное развертывание не работает вообще. Смотрите рисунок ниже в качестве ссылки.

Дело в том,

  • Как мне установить плагин maven в tomcat 8? (Я уже проверял гугл)
  • Является ли "deploy" синонимом "run"?

Структура каталогов '/Library/Tomcat/webapps/wm-admin-ui':

Ошибки в журнале 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";
}

1 ответ

Решение

Кажется, что класс com.toro.wm.configurations.WmWebApplicationInitializer с методом getSwaggerBasePath проблема с загрузкой файла свойств

Проверьте эту строку в этом классе WmWebApplicationInitializer.java:86, Кажется, вы не развернули важный файл, и когда приложение инициализирует контекст, оно требует этот файл.

Вторая проблема - вам нужно поместить все свойства в путь WEB-INF/classes,

Теперь все должно работать.

Другие вопросы по тегам