gpt4 book ai didi

java - TomEE 部署失败 未找到数据源

转载 作者:行者123 更新时间:2023-12-02 03:25:55 25 4
gpt4 key购买 nike

我想将 war 文件部署到 TomEE 但失败了:

原因:

javax.naming.NameNotFoundException: 
Name openejb/Resource/application_name/mysql_ds" not found.

如果我重新启动服务器,部署会正常进行,但仅一次,然后会遇到相同的错误。

我已经在 WEB-INF/resources.xml 文件中定义了数据源

<tomee>
<Resource id="mysql_ds" type="javax.sql.DataSource">
JdbcDriver = com.mysql.jdbc.Driver
JdbcUrl = jdbc:mysql://IP:3306/db?serverTimezone=UTC&amp;autoReconnect=true
UserName = user
Password = password
JtaManaged = true
</Resource>
</tomee>

我还应该提到,还有另一个具有相同配置的克隆应用程序(开发模式),并且它工作正常。

最佳答案

您可以使用 WEB-INF/resources.xml定义一个或多个数据源或 tomee.xml <tomee-home>/conf内的文件文件夹,如 corresponding section 中所述TomEE 项目文档:

A DataSource can be declared via xml in the /conf/tomee.xml file or in a WEB-INF/resources.xml file

但是,resources.xml 的语法与容器范围的定义略有不同。对于resources.xml与您的网络应用程序捆绑在一起,其格式应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<Resource id="mysql_ds" type="javax.sql.DataSource">
JdbcDriver = com.mysql.jdbc.Driver
JdbcUrl = jdbc:mysql://IP:3306/db?serverTimezone=UTC&amp;autoReconnect=true
UserName = user
Password = password
JtaManaged = true
</Resource>
</resources>

请注意,标签 <resources><tomee> 不同你的问题中给出。这应该适用于默认的 TomEE 环境。另请参阅:rmannibucau 的评论。

希望有帮助。

关于java - TomEE 部署失败 未找到数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38899598/

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