Java jackson2.x注释没有在单独的jar项目中使用
我有一个有趣的问题:Jersey 2.17 JAX-RS 2.0在Weblogic 12.1.3上的单独Maven模块项目中没有使用Jackson 2.x注释 我的项目结构如下:Java jackson2.x注释没有在单独的jar项目中使用,java,json,maven,jackson,weblogic,Java,Json,Maven,Jackson,Weblogic,我有一个有趣的问题:Jersey 2.17 JAX-RS 2.0在Weblogic 12.1.3上的单独Maven模块项目中没有使用Jackson 2.x注释 我的项目结构如下: project EAR --> domain JAR: contains JPA & Jackson2 annotated POJOs --> WAR: contains REST API 如果我把带Jackson注释的POJO放在WAR中,那么Jackson注释就会被拾取,并生成
project EAR
--> domain JAR: contains JPA & Jackson2 annotated POJOs
--> WAR: contains REST API
如果我把带Jackson注释的POJO放在WAR中,那么Jackson注释就会被拾取,并生成正确的JSON输出
这可能是一个重复的问题,关于这个:,但我不能让它在Weblogic上工作
它不能在单独的域jar中工作
我尝试过不同的Maven解决方案,包括skinny war、WL特定的类加载,但似乎没有任何效果
以下是您可能会感兴趣的相关细节。。。
My domain JAR pom.xml包括以下内容:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<scope>provided</scope>
</dependency>
我的WAR包含以下依赖项:
<dependency>
<groupId>hu.dboros</groupId>
<artifactId>restaurant-manager-domain</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
</dependency>
我的耳朵只包含战争,作为依赖:
<dependency>
<groupId>hu.dboros</groupId>
<artifactId>restaurant-manager-backend-war</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
根据Jersey 2.x指南,我的根pom包含以下依赖项:
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.bundles</groupId>
<artifactId>jaxrs-ri</artifactId>
<version>${jersey.version}</version>
<scope>provided</scope>
</dependency>
为什么jersey media json jackson标记为在您的域jar中提供?它使这个罐子的运行时间依赖于您的战争。在默认编译范围中具有此依赖项不是更好的主意吗。你的战争也可以把它捡起来,因为它在罐子里。我也试过,但不幸的是得到了同样的结果。。。