【发布时间】:2019-06-25 12:28:18
【问题描述】:
我正在从 Eclipse 运行 tomcat 8.5,并且我在 METAINF 文件夹中有 context.xml, 此文件的内容会自动复制到 tomcat 上的 conf/server.xml 运行时。
我想做的事情是让tomcat在运行时将另一个上下文复制到server.xml。原因是我需要第二个上下文来获得图像的路径,所以 我可以从应用程序外部访问它们。 (在我的例子中来自一个 angualr 应用程序)。
我尝试在 context.xml 中添加另一个上下文标记,这是完整的 上下文 xml:
<Context path="/test" docBase="C:\eclipse\workspace\myproj\test"
debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="simba"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/my_db?autoReconnect=true"
testOnBorrow="true"
removeAbandoned="true"
logAbandoned="true"
maxWait="60"
maxActive="10"
maxIdle="4"/>
</Context>
<Context path="/images" docBase="C:\Users\john\Documents\images"
debug="5" reloadable="true" crossContext="true">
</Context>
我得到的错误只有 1 个允许或更宝贵:
The markup in the document following the root element must be well-formed.
我也尝试创建另一个名称不同的文件,但内容没有被复制。 知道在哪里添加/更改配置以使其工作吗?
谢谢。
【问题讨论】:
-
看起来是一个 XML 解析异常,请发布您可能收到的任何堆栈跟踪,这会有所帮助。此外,请发布您的完整 context.xml。您似乎添加了另一个“上下文”元素,一个文档只能有一个文档元素。请按原样发布完整的 XML,这样可以清除它。
-
那你为什么要尝试添加另一个文档元素:),为什么不制作另一个 WAR 文件并进行部署,毕竟在我看来,它们是不同的上下文。