Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 WebSphere App Server未编译JSP/标记库_Java_Jsp_Websphere_Jsp Tags - Fatal编程技术网

Java WebSphere App Server未编译JSP/标记库

Java WebSphere App Server未编译JSP/标记库,java,jsp,websphere,jsp-tags,Java,Jsp,Websphere,Jsp Tags,这是一个仅在通过管理控制台(而不是CLI)测试的应用程序更新时发生的问题。而且,这只发生在我们的开发环境中,与我们的prod env相同。卸载/安装时,所有内容都已正确编译。然而,这是一个大型应用程序,它需要足够长的时间来进行更新,我们不希望每次都卸载/安装,尤其是在开发构建期间 正在生成JSP.java和.smap文件,但没有生成.class。在prod上,没有.smap,只有.java和.class。如果JSP可以编译,我们相信标签库也可以编译 有没有人面对过这个问题,或者知道我们可能忽略了

这是一个仅在通过管理控制台(而不是CLI)测试的应用程序更新时发生的问题。而且,这只发生在我们的开发环境中,与我们的prod env相同。卸载/安装时,所有内容都已正确编译。然而,这是一个大型应用程序,它需要足够长的时间来进行更新,我们不希望每次都卸载/安装,尤其是在开发构建期间

正在生成JSP.java和.smap文件,但没有生成.class。在prod上,没有.smap,只有.java和.class。如果JSP可以编译,我们相信标签库也可以编译

有没有人面对过这个问题,或者知道我们可能忽略了什么

WAS版本:6.1.0.17

编辑:这只发生在一个JSP及其使用的标记库中。我们正试图解决这个问题。如果我们发现了什么,请告诉你。我们认为这可能是.SMAP文件的问题

一项建议:

您是否检查过您的环境是否有指向JDK而不仅仅是JRE的JAVA_主页。JRE没有javac,因此没有任何方法将JSP编译器在运行时创建的.java文件编译成.class

编辑:还有,也许这会有帮助?

一个建议:

您是否检查过您的环境是否有指向JDK而不仅仅是JRE的JAVA_主页。JRE没有javac,因此没有任何方法将JSP编译器在运行时创建的.java文件编译成.class


编辑:另外,也许这会有所帮助?

我还没有使用taglibs,但我可以告诉您:

应用服务器检查时间戳。从应用服务器的角度来看,非常确定JSP文件的修改时间戳是合理的,比如说,将来不会


希望这能帮助您解决问题…

我没有使用taglibs,但我可以告诉您:

应用服务器检查时间戳。从应用服务器的角度来看,非常确定JSP文件的修改时间戳是合理的,比如说,将来不会

希望这能帮助您解决问题…

解决方案: 问题是:已启用调试。这将生成.smap文件源映射,而不是.class文件。一旦发现这一点,我们就在管理控制台“应用程序服务器”>“服务器1”>“调试进程”>“取消选中“启动服务”下禁用了调试服务。我不知道为什么这只会在更新时产生一个bug,但是,不管是什么情况,问题都解决了。

解决方案:
问题是:已启用调试。这将生成.smap文件源映射,而不是.class文件。一旦发现这一点,我们就在管理控制台“应用程序服务器”>“服务器1”>“调试进程”>“取消选中“启动服务”下禁用了调试服务。我不知道为什么这只会在更新时产生一个bug,但是,不管是什么情况,问题都解决了。

任何Java类都在编译,这个问题似乎只存在于JSP源文件以及它们使用的标记库中。同样,这只发生在“更新”期间,而不是在应用程序的干净安装期间。不过,感谢您的输入。我想您的java类是在构建过程中编译的,这与Websphere appserver运行时使用的环境不同?但是,我检查了一下,路径中是/usr/java14/bin,包含javac,以及它之前的/usr/java14/jre/bin,所以我认为我们可以消除这种可能性。是的,它构建在一个环境中,并部署到另一个环境中的服务器上。任何Java类都在编译,问题似乎只存在于JSP源文件以及它们使用的标记库中。同样,这只发生在“更新”期间,而不是在应用程序的干净安装期间。不过,感谢您的输入。我想您的java类是在构建过程中编译的,这与Websphere appserver运行时使用的环境不同?但是,我检查了一下,路径中是/usr/java14/bin,包含javac,以及它之前的/usr/java14/jre/bin,所以我认为我们可以消除这种可能性。是的,它构建在一个环境上,并部署到驻留在另一个环境上的服务器上。