问题标签 [apache-tomee]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1008 浏览

glassfish - 从 glassfish 迁移到 tomee+

我有一个在 Glassfish 3.1.2 上运行的应用程序,但现在我想迁移到 Tomee+。我在 Glassfish 中创建了连接池,并使用 JNDI 配置了该池,并在 persistence.xml 中使用了该 JNDI 名称。现在,在迁移时,我应该如何在 tomee+ 中创建连接池和 JNDI(以及位置),以便我可以在我的 persistence.xml 中使用 JNDI 名称。

谢谢

0 投票
1 回答
1037 浏览

java - TomEE:CDI 扩展 - 未找到提供程序错误

我正在运行 TomEE+ 1.5.1 并尝试创建 CDI 扩展。我创建了一个实现javax.enterprise.inject.spi.Extension的类,并将该类名放入文件META-INF/services/javax.enterprise.inject.spi.Extension

类本身很简单:

在 TomEE 上部署时出现此错误:

在 OpenEJB 中调试时,此错误是由 ClassNotFoundException 引起的,但正确的路径在类加载器的 url 列表中。

我不知道为什么会这样,我希望有人能帮助我。

0 投票
1 回答
2142 浏览

cxf - 在类级别使用 @Path("/") 的 JAX-RS Web 服务在 TomEE+ 1.5.1 上失败

这个简单的根资源类在 TomEE+ 1.5.1 上运行时失败,返回 404 错误“请求的资源不可用。” 它在 WEB-INF 中被打包为一个带有空 web.xml 文件的 WAR。

它部署,我在控制台输出中看到这些行:

我也试过用 web.xml 来打包它,声明:

与空 web.xml 文件的结果相同。

我还尝试将类级别 @Path 注释更改为 @Path("*") 然后我得到不同的响应,在控制台输出中我看到以下行:

最后...如果我将@Path 注释更改为@Path("/foo") 之类的东西,那么它的工作原理与预期完全一样...点击/test/foo/getloggedinguids 返回请求URI。

我一直在尝试 servlet 映射与类级别注释的各种变体,并且有一点是一致的……类级别的 @Path("/") 注释总是失败。

我什至从“RESTful Java with JAX-RS book”中获取了一个在类级别使用@Path("/") 的示例......这也失败了。

这是 JAX-RS 标准的 CXF 实现中的错误吗?我的项目要求我使用库存的 TomEE+ 容器,因此我无法切换到另一个 JAX-RS 实现:-(

0 投票
2 回答
1922 浏览

jsf - ocpsoft.org PrettyTime:找不到任何已注册的转换器类

我发现了一个相当令人难以置信的 JSF 日期转换库,名为 Pretty Time。我已将 maven 坐标包含在我的 pom.xml 中:

这是我页面的相关部分:

我正在部署到 TomEE v1.5.1+。我得到了这个例外。我错过了一步吗?我确实注意到该类org.ocpsoft.PrettyTimeConverter没有标有@FacesConverter注释。这会是个问题吗?

编辑:我倾向于 TomEE/MyFaces 错误......或功能。不管你想怎么称呼它:

我的项目的 faces-config 使用 2.1 命名空间:

而 prettytime 使用已弃用的:

将转换器添加到我的项目的 faces 配置中会使一切正常工作。

0 投票
1 回答
489 浏览

tomcat - Apache TomEE 和 Tomcat 在 Windows 系统上共存

是否可以在 Windows 机器上同时拥有 apache tomcat 和 apachetomee-plus。由于在设置Tomcat6时;我已经设置了 CATALINA_HOME 环境变量;我认为当 apache tomee 启动时[使用 TomEE 发行版中包含的 startup.bat 文件],它会获取 Tomcat 设置的 CATALINA_HOME 变量。

我们能否在 Windows(或其他系统)中同时拥有这两个服务器,并确保当我启动 TomEE plus 服务器的 startp.bat 时,我的 Tomcat Servlet 容器不会被拾取?

谢谢,

阿尤斯曼

0 投票
1 回答
47 浏览

java - TomeEE Java 版本 5

我安装了 TomEE plus 1.5.1 版。它有 Tomcat 版本 7。TomEE 可以与 Tomcat 6 一起使用吗?有可能的?

在 Google 上快速搜索,并没有任何回报。

0 投票
2 回答
10311 浏览

java - Gradle -> 如何从 WEB-INF/lib 中省略一些 jars

我有一个带有战争规范的子项目,如下所示:

效果很好。创建可部署到 Tomcat 的单个胖战争文件。问题是,在部署到 TomEE 和 JBoss 时,我遇到了冲突(即与 Javax Servlet、Jersey 等)。所以我想排除一组罐子被战争。我查看了 Gradle 战争文档,看起来我需要为此使用排除项。我尝试了两种不同的方式,并且罐子没有被排除在战争之外:

这是在 github 上托管的 NetFlix/karyon 项目的一个子项目(karyon-examples)中。子项目中的依赖项如下所示:

而且我想避免编辑诸如编译与运行时依赖项之类的东西,尤其是在其他文件和子项目中。事实上,我在上面试图排除的罐子在使用码头和常规 tomcat 运行时是良性的。

我只是想在不使构建脚本复杂化的情况下排除这些 jar。我错过了什么?

谢谢

0 投票
1 回答
1730 浏览

dependency-injection - EJB JAX-RS @Context HttpServletRequest NullPointerException - 为什么?

考虑以下服务:

NullPointerException在方法执行时得到一个,尽管从调试的角度来看,我注意到request这并不是真正null的,而是org.apache.openejb.rest.ThreadLocalHttpServletRequest. 当我将@Context注入移动到方法参数级别时,一切正常:

这是什么原因?据我记得,在我将服务设为 EJB 之前它曾经工作过(我这样做是为了使用@EJB@Inject可能注入 DAO)。JAX-RS 是否为每个请求创建此类服务的实例,从而能够通过类级别注入@Context?EJB 是否通过在 JAX-RS 可以做任何事情之前创建实例并填充代理对象来防止这种情况?

0 投票
0 回答
1710 浏览

java - Tomcat 资源工厂 org.apache.openejb.OpenEJBException:没有可用于 resource-env-ref 的提供程序

我使用 TomEE 作为应用程序服务器。TomEE 使用 Tomcat 7。我有以下代码:

在 web.xml http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" version="2.5">

2013 年 4 月 6 日 17:54:25 org.apache.openejb.assembler.classic.Assembler createRecipe

一旦我部署应用程序,我就会得到以下异常:

任何想法问题出在哪里?

0 投票
1 回答
1278 浏览

java - 如何从 JAX-RS MessageBodyWriter 访问 CDI 托管 bean?

我正在努力从 TomEE 中的 JAX-RS 消息正文处理程序访问 CDI 托管 bean。

我的处理程序类 ( implements MessageBodyWriter<Object>, MessageBodyReader<Object>) 是通过 中的cxf.jaxrs.providers属性注册的openejb-jar.xml。当我@Inject在构造函数上使用注释时,处理程序被静默忽略(因为它缺少无参数构造函数)。改为使用字段注入时,该字段保持为空。显然,消息体处理程序在 TomEE (CXF) 中完全不受管理。

我尝试通过 JNDI 获取 BeanManager,但是没有记录异常就失败了。

有没有其他方法可以做到这一点,或者我做错了什么?或者,我当然希望有一种方法可以使处理程序本身受到管理,并以某种方式以编程方式注册它。