Настройка пользовательского контекстного пути война на сервере jetty с помощью Intellij

#intellij-idea #jetty

#intellij-идея #jetty

Вопрос:

Как настроить пользовательский контекстный корень для war на сервере jetty. Я предоставил значения контекста в пользовательском контексте на IntelliJ > Deployment вкладке, но сообщение о том, что сервер не отображается. Пожалуйста, помогите.

Добавляю ниже Jetty.xml для вашей справки.

 <?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">
    <Arg name="threadpool"><Ref refid="threadPool"/></Arg>

    <Call name="addBean">
      <Arg><Ref refid="byteBufferPool"/></Arg>
    </Call>

    <Call name="addBean">
      <Arg>
        <New class="org.eclipse.jetty.util.thread.ScheduledExecutorScheduler">
          <Arg name="name"><Property name="jetty.scheduler.name"/></Arg>
          <Arg name="daemon" type="boolean"><Property name="jetty.scheduler.daemon" default="false" /></Arg>
          <Arg name="threads" type="int"><Property name="jetty.scheduler.threads" default="-1" /></Arg>
        </New>
      </Arg>
    </Call>

 <Call name="addBean">
    <Arg>
      <New class="org.eclipse.jetty.security.HashLoginService">
        <Set name="name">myrealm</Set>
        <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
        <Set name="hotReload">true</Set>
      </New>
    </Arg>
  </Call>


    <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
      <Set name="secureScheme"><Property name="jetty.httpConfig.secureScheme" default="https" /></Set>
      <Set name="securePort"><Property name="jetty.httpConfig.securePort" deprecated="jetty.secure.port" default="8443" /></Set>
      <Set name="outputBufferSize"><Property name="jetty.httpConfig.outputBufferSize" deprecated="jetty.output.buffer.size" default="32768" /></Set>
      <Set name="outputAggregationSize"><Property name="jetty.httpConfig.outputAggregationSize" deprecated="jetty.output.aggregation.size" default="8192" /></Set>
      <Set name="requestHeaderSize"><Property name="jetty.httpConfig.requestHeaderSize" deprecated="jetty.request.header.size" default="8192" /></Set>
      <Set name="responseHeaderSize"><Property name="jetty.httpConfig.responseHeaderSize" deprecated="jetty.response.header.size" default="8192" /></Set>
      <Set name="sendServerVersion"><Property name="jetty.httpConfig.sendServerVersion" deprecated="jetty.send.server.version" default="true" /></Set>
      <Set name="sendDateHeader"><Property name="jetty.httpConfig.sendDateHeader" deprecated="jetty.send.date.header" default="false" /></Set>
      <Set name="headerCacheSize"><Property name="jetty.httpConfig.headerCacheSize" default="1024" /></Set>
      <Set name="delayDispatchUntilContent"><Property name="jetty.httpConfig.delayDispatchUntilContent" deprecated="jetty.delayDispatchUntilContent" default="true"/></Set>
      <Set name="maxErrorDispatches"><Property name="jetty.httpConfig.maxErrorDispatches" default="10"/></Set>
      <Set name="blockingTimeout"><Property deprecated="jetty.httpConfig.blockingTimeout" name="jetty.httpConfig.blockingTimeout.DEPRECATED" default="-1"/></Set>
      <Set name="persistentConnectionsEnabled"><Property name="jetty.httpConfig.persistentConnectionsEnabled" default="true"/></Set>
      <Set name="requestCookieCompliance"><Call class="org.eclipse.jetty.http.CookieCompliance" name="valueOf"><Arg><Property name="jetty.httpConfig.requestCookieCompliance" deprecated="jetty.httpConfig.cookieCompliance" default="RFC6265"/></Arg></Call></Set>
      <Set name="responseCookieCompliance"><Call class="org.eclipse.jetty.http.CookieCompliance" name="valueOf"><Arg><Property name="jetty.httpConfig.responseCookieCompliance" default="RFC6265"/></Arg></Call></Set>
      <Set name="multiPartFormDataCompliance"><Call class="org.eclipse.jetty.server.MultiPartFormDataCompliance" name="valueOf"><Arg><Property name="jetty.httpConfig.multiPartFormDataCompliance" default="RFC7578"/></Arg></Call></Set>
    </New>
   <New id="CXOMetadataDatasource" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg></Arg>
    <Arg>jdbc/CXOMetadataDatasource</Arg>
    <Arg>
      <New class="oracle.jdbc.pool.OracleDataSource">
        <Set name="DriverType">thin</Set>
        <Set name="URL">jdbc:oracle:thin:@slc16frz.us.oracle.com:1521/pdborcl</Set>
        <Set name="User">dp1mt1_FAWAPPSHELL</Set>
        <Set name="Password">welcome1</Set>
        <Set name="connectionCachingEnabled">true</Set>
        <Set name="connectionCacheProperties">
          <New class="java.util.Properties">
            <Call name="setProperty">
              <Arg>MinLimit</Arg>
              <Arg>5</Arg>
            </Call>
            <!-- put the other properties in here too -->
          </New>
        </Set>
      </New>
    </Arg>
  </New>  

<New id="FawCommonDatasource" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg></Arg>
    <Arg>jdbc/FawCommonDatasource</Arg>
    <Arg>
      <New class="oracle.jdbc.pool.OracleDataSource">
        <Set name="DriverType">thin</Set>
        <Set name="URL">jdbc:oracle:thin:@slc16frz.us.oracle.com:1521/pdborcl</Set>
        <Set name="User">dp1mt1_FAWCOMMON</Set>
        <Set name="Password">welcome1</Set>
        <Set name="connectionCachingEnabled">true</Set>
        <Set name="connectionCacheProperties">
          <New class="java.util.Properties">
            <Call name="setProperty">
              <Arg>MinLimit</Arg>
              <Arg>5</Arg>
            </Call>
            <!-- put the other properties in here too -->
          </New>
        </Set>
      </New>
    </Arg>
  </New> 

    <Set name="handler">
      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
        <Set name="handlers">
         <Array type="org.eclipse.jetty.server.Handler">
           <Item>
             <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
           </Item>
           <Item>
             <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
           </Item>
         </Array>
        </Set>
      </New>
    </Set>
    
    <Set name="stopAtShutdown"><Property name="jetty.server.stopAtShutdown" default="true"/></Set>
    <Set name="stopTimeout"><Property name="jetty.server.stopTimeout" default="5000"/></Set>
    <Set name="dumpAfterStart"><Property name="jetty.server.dumpAfterStart" deprecated="jetty.dump.start" default="false"/></Set>
    <Set name="dumpBeforeStop"><Property name="jetty.server.dumpBeforeStop" deprecated="jetty.dump.stop" default="false"/></Set>


</Configure>
  

Скриншот всплывающего окна run-jetty-run IntelliJ plugin

Ответ №1:

Добро пожаловать в Stackoverflow.

Контекстный путь контролируется нижней частью этого скриншота.

«Использовать корень пользовательского контекста».

В данный момент у вас выбрано «oaxservice.war», и для его контекстного пути задано значение /api/oax

Таким образом, это означает, что к вашему серверу можно получить доступ с http://localhost:8080/api/oax

Выберите другой war, чтобы присвоить его контекстному пути другое значение.

Примечание: используемый вами плагин не поддерживается проектом Eclipse Jetty.

Комментарии:

1. Во-первых, спасибо за ваш ответ. Я уже сделал это, но проблема в том, что мой jetty не запускается. Просматриваю журналы, приведенные ниже. Любой suggestion?{«timestamp»:»2020-08-26T05:35:13.067Z»,»levelname»:»ERROR»,»threadName»:»Scanner-1″,»logger»:»oracle.biapps.cxo.web»,»msg»:» Исключение при получении пути контекста»,»context»:»default»,»exc_info»:»java.lang. ClassCastException: org.eclipse.jetty.webapp. WebAppContext$Context не может быть приведен к javax.servlet.http. HttpServletRequest.

2. Добавлено jetty.xml для вашей ссылки на вопрос.

Ответ №2:

Я сопоставил оба артефакта на вкладке deployment и предоставил пользовательский контекстный путь, как показано на скриншоте. Я могу запустить приложение, и все кажется в порядке, но статус развертывания не обновлен до зеленой галочки или успешно развернут. Также, когда я выполняю обновление вручную, в нем говорится. -«[2020-08-27 04:27:33,489] Класс артефакта: com.oracle.faw.dp: oaxui.war (взорван): артефакт не развернут. Нажмите «Развернуть», чтобы начать развертывание «. Пожалуйста, обратитесь к прилагаемому скриншоту.

Итак, это работает, но статус развертывания не обновляется. Все еще нужно разобраться. введите описание изображения здесь

Комментарии:

1. Пожалуйста, отправьте сообщение об ошибке по адресу youtrack.jetbrains.com/newIssue?project=IDEA с примерами проекта для воспроизведения, прикрепленными и журналами. Также включите все настройки, которые вы внесли в конфигурацию Jetty.

2. Спасибо. Я это сделал. Мы ждем их ответа и соответственно обновляем здесь.

Ответ №3:

Все, это была ошибка в Intellij IDEA, и после нескольких обсуждений с ними. Это исправлено и станет частью вероятного выпуска 2020.2.3.

Спасибо и посмотрите, можете ли вы перейти по ссылке ниже: https://youtrack.jetbrains.com/issue/IDEA-250458?_ga=2.158046906.1073613107.1599818699-1009100717.1597946561