我们已将 JapserServer 8.1 作为 Windows 服务 与 Tomcat 9.0.69 安装,并且在尝试创建报告时收到以下形式的多个错误:
Caused by: java.io.IOException: Unable to rename class file from [D:\JAS\apache-tomcat\work\Catalina\localhost\jasperserver-pro\org\apache\jsp\WEB_002INF\jsp\modules\addResource\reportStep3State.classtmp] to [D:\JAS\apache-tomcat\work\Catalina\localhost\jasperserver-pro\org\apache\jsp\WEB_002INF\jsp\modules\addResource\reportStep3State_jsp.class]
在后台,Windows 管理员帐户执行了安装。
我们已经尝试将登录帐户类型从本地服务更改为本地系统并按照此处所述重新启动服务...
https://knowledge.broadcom.com/external/article/223526/jaspersoft-78-error-when-configured-as-a.html
...以及通过右键单击 -> 属性 -> 取消选中部分选中的“只读”复选框来设置整个 JAS 目录的 权限 。
我们有其他 tomcat 9 Web 应用程序在同一主机(和驱动器)上运行,没有任何问题。他们的服务帐户也是本地系统。
想知道我们在设置中可能会忽略什么。
谢谢!
您遇到的错误表明文件权限存在问题,可能与 Tomcat 在 JasperServer 操作期间尝试重命名的临时文件有关。以下是需要考虑的一些额外步骤:
目录权限: 确保运行 Tomcat 服务的用户帐户(在您的情况下为本地系统)可以完全控制
D:\JAS\apache-tomcat\work
目录及其所有子目录。有时,即使未选中 Read-only
复选框,权限也可能无法正确应用于所有子目录和文件。
防病毒或安全软件: 检查是否有任何防病毒或安全软件干扰
D:\JAS\apache-tomcat\work
目录中的文件操作。这些程序可能会阻止或延迟文件重命名和创建操作,从而导致 IOExceptions。
磁盘空间和配额: 验证驱动器上是否有足够的磁盘空间,并且没有应用可能限制文件操作的磁盘配额。
临时目录配置: 考虑配置一个不同的临时目录供 Tomcat 使用。这可以通过修改 Tomcat 配置中的
CATALINA_TMPDIR
环境变量或 JAVA_OPTS
来完成:
set CATALINA_TMPDIR=D:\temp\tomcat
或者在
JAVA_OPTS
:
set JAVA_OPTS=-Djava.io.tmpdir=D:\temp\tomcat
检查锁定问题: 确保没有其他进程锁定
D:\JAS\apache-tomcat\work
目录中的文件。 Sysinternals Process Explorer 等工具可以帮助识别其他进程是否正在锁定这些文件。
Tomcat配置: 检查您的 Tomcat 配置,特别是
conf/server.xml
和 conf/context.xml
文件,以确保没有影响文件操作的异常设置。
JasperServer 日志: 检查 JasperServer 和 Tomcat 日志以获取可以提供其他线索的更详细的错误消息。有时可以从日志的不同部分确定根本原因。
重新安装或修复安装: 如果所有其他方法均失败,请考虑重新安装或修复 JasperServer 安装。可能存在不易检测到的已损坏文件或配置。
通过系统地检查这些区域,您应该能够识别并解决导致文件重命名错误的根本问题。如果您仍然遇到问题,提供详细的日志或其他上下文可能有助于进一步查明问题。