我没有任何特定的Java知识。我们正在运行一个主要用Java编写的开源应用程序。在我编辑工作时互联网连接丢失了(这是某种翻译项目管理工具),我不能再打开工作了。
我检查了数据库以查看是否有任何错误,所有看起来都很好(我将值与工作作业进行比较)。然后我登录到服务器并检查日志,似乎这个应用程序可能依赖于存储在数据库以外的某些地方的某些数据。
日志包含大量行,但我想这是提供提示的行:
ERROR;com.globalsight.everest.workflow.WorkflowProcessAdapter;There is error in create the workflowinstance for the process instance id 54
java.lang.IllegalArgumentException: the userrole value cannot be null
当连接断开时,看起来userrole搞砸了。现在,userrole未分配到数据库中的任何位置。我以为我会浏览源文件以查看它可能来自哪里,但我无法找到它们。例如,一个例外行说:
com.globalsight.everest.taskmanager.TaskManagerLocal.acceptTask(TaskManagerLocal.java:165)
我浏览到那个本地化,那里有一个TaskManagerLocal文件夹,但它是空的。我假设这是在jar文件中编译的(对吧?)。具有Java知识的人是否可以了解我如何挖掘并找到用户可以保存并通过应用程序备份的位置?
非常感谢提前
答案 0 :(得分:4)
com.globalsight ... - > globalsight.com 该网站声明来源位于SourceForge
答案 1 :(得分:2)
如果项目是开源的,则代码可以打包在JAR文件中。情况并非总是如此,因为从JAR运行的实际代码是以编译的字节码形式。
您可以尝试使用以下方式解压缩JAR:
jar -xvf the_jar_file.jar
这将创建许多目录/文件,其中可能包含src目录。如果没有,源可能未以未编译的形式包含在JAR中,在这种情况下,您必须从项目站点下载源。
答案 2 :(得分:0)
由于此错误与该工具特别相关,我将在http://globalsight.com访问GlobalSite并询问。我在网站上快速搜索了这个错误并没有发现任何东西,但是你应该能够在他们的论坛上发布这些答案之后得到一些答案(我想)。