Eclipse: должен быть объявлен тип элемента «Context» - PullRequest
0 голосов
/ 11 июля 2019

Я создаю пулы соединений с JDBC, используя 'context.xml' в eclipse.Это продолжает говорить - тип элемента "Ресурс" должен быть объявлен.- Тип элемента «Контекст» должен быть объявлен.- Должен быть объявлен тип элемента "WatchedResource".

Вчера тот же самый код работал отлично.Я только что импортировал проект на ПК в своей школе.Все остальные файлы, не использующие пулы соединений, по-прежнему работают правильно.Я использую Tomcat версии 9.0

Я скопировал код, который я набрал вчера, сохранил его в виде текстового файла.Я удалил файл context.xml и создал заново.Это все еще не работает.Я искал в Google и сложил Over Flow, чтобы выяснить, есть ли у кого-то такие же проблемы, к сожалению, я не смог найти ответа.

Есть ли кто-нибудь, кто мог бы помочь мне, пожалуйста?

Здесьэто набранный мной xml-код.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE context>
<Context path="/" docBase="Webprj" reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
name="jdbc/Oracle"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:xe"
username="sijeune" password="oracle"
maxActive="20" maxIdle="10" maxWait="-1"/>
</Context>

Здесь отображаются сообщения об ошибках

Корнем моего xml-файла является C: \ Users \ 1027 \ Java \GroupStudy \ Webprj \ WebContent \ META-INF \ context.xml '

Заранее спасибо!

1 Ответ

0 голосов
/ 11 июля 2019

Я не знаю, почему вы создаете context.xml отдельно в проекте.

В каталоге Tomcat conf уже есть файл context.xml.Просто добавьте источник данных в context.xml

From Документация JNDI-источника данных Tomcat 9 :

Просто добавьте в него свой источник данных.

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    -->
    <!-- The contents of this file will be loaded for each web application -->
    <Context>

        <!-- Default set of monitored resources. If one of these changes, the    -->
        <!-- web application will be reloaded.                                   -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
        <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

        <!-- Uncomment this to disable session persistence across Tomcat restarts -->
        <!--
        <Manager pathname="" />
        -->

    <Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
              username="sijeune" password="oracle" maxTotal="20" maxIdle="10"
              maxWaitMillis="-1"/>
    </Context>

В web.xml :

Просто добавьте это:

<resource-ref>
 <description>Oracle Datasource example</description>
 <res-ref-name>jdbc/myoracle</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>
...