Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在OracleWebLogicServer上部署多个release.jar_Java_Maven_Weblogic_Weblogic12c_Multi Release Jar - Fatal编程技术网

Java 在OracleWebLogicServer上部署多个release.jar

Java 在OracleWebLogicServer上部署多个release.jar,java,maven,weblogic,weblogic12c,multi-release-jar,Java,Maven,Weblogic,Weblogic12c,Multi Release Jar,我们正在尝试将web服务(一个.war文件)部署到Oracle WebLogic 12.2.1.0.0服务器上 .war包含一些第三方.jar,例如log4j-api-2.12.0.jar,它们是多版本.jar(根据JEP 238,在MANIFEST.MF中具有Multi-release:true) 因此,它在META-INF/versions/9目录中包含一些Java 9编译类。WebLogic 12.2仅使用Java 8(通过WebLogic管理控制台确认版本为Java 1.8.092) 据

我们正在尝试将web服务(一个.war文件)部署到Oracle WebLogic 12.2.1.0.0服务器上

.war包含一些第三方.jar,例如
log4j-api-2.12.0.jar
,它们是多版本.jar(根据JEP 238,在MANIFEST.MF中具有
Multi-release:true

因此,它在
META-INF/versions/9
目录中包含一些Java 9编译类。WebLogic 12.2仅使用Java 8(通过WebLogic管理控制台确认版本为Java 1.8.092)

据我所知,Java8服务器应该不会看到/忽略
META-INF/versions
目录下的任何类,但这似乎没有发生。似乎甲骨文WLS只是在扫描整个战争

因此,当我们尝试部署.war时,会出现如下错误:

BEA-160248无法分析类文件:。。。(然后在
META-INF/versions/9
目录中输入一个长路径名)

我们需要做什么特别的事情来完成这项工作吗?我将接受以下内容:

  • 以某种方式将WLS配置为忽略
    META-INF/versions/9
  • 配置Maven以某种方式构建.war,而不使用第三方.jar中存在的
    META-INF/versions/9
我对每次构建.war时手动删除其中任何内容的答案不感兴趣。此外,我不确定我现在是否可以降级到第三方.jars的早期版本。Log4j2,可能会。。。但是还有其他的


谢谢

JEP 238来自Java 9,而WebLogic Server不使用Java 9运行。

进一步研究后

BEA-160248无法分析类文件


这些信息是在转移注意力。在解决了其他不相关的问题后,尽管日志中出现了这些错误消息,应用程序仍会根据需要进行部署和工作。

构建war时使用了哪个版本的Java?多版本JAR有意向后兼容。如果没有更多细节,我无法接受这个答案。从我对JEP238的阅读来看,
META-INF/versions/*
目录路径在Java8环境中应该是不可见的。所以,据我所知,它应该是有效的。但我认为WebLogic只是扫描整个.jar,而不是只读取应该有类的目录。所以,我不认为这是Java版本的问题。我认为这是WebLogic行为或(希望是)配置问题。如果能找到一种不在日志中显示这些消息的方法,那还是不错的