我的程序收到一个错误,说找不到一个类。我已经检查了两次(和三次(,该类肯定在我的罐子里 - 它从同一个罐子里找到其他类就好了。
为了帮助调试它,我想打开详细的类加载日志记录,如下所述:http://java.dzone.com/articles/how-use-verbose-options-java
但是,如果您使用的是 WebSphere Liberty Profile,这并没有说明如何准确打开此选项,所以我环顾四周并发现了这个:http://www-01.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_admin_customvars.html
这说明我需要将行放在${server.config.dir}/jvm.options
.
所以我写了一个简单的文件,它只包括:
-verbose:class
我将其保存到 wlp/usr/servers/defaultServer/jvm.options
,这意味着新文件与我的 apps
文件夹、logs
文件夹和我的server.xml
位于同一目录中。
我停止了我的服务器并重新启动它并查看了logs
目录。它生成了与往常相同的日志,没有新内容:console.log
、messages.log
、status.log
和 trace.log
。我检查了所有这些日志文件,但没有一个像我的第一个链接的输出那样。
所以我认为我做得不好。以下是我认为我可能出错的三点:
我的文件太简单了吗?除了
-verbose:class
之外,我还需要投入更多的东西吗?这可能需要嵌套在某物中吗?我必须拥有更多参数吗?在此之前,我根本没有任何jvm.options
文件,所以我假设它会对我不明确的任何内容使用默认值。我是否将文件放在正确的位置?据我从文档中可以看出,我认为我把它放在了正确的位置,但文档没有我想要的那么明确。
我是否在正确的位置寻找日志?日志文件的名称是什么?它将放置在哪里?我假设它会像 WebSphere Liberty Profile 生成的所有其他日志一样在日志目录中,但也许我错了?
在为我的问题编写第三个项目符号时,我意识到console.log
实际上是一个以前不存在的新文件,而且我实际上并没有检查其中的内容。我刚刚打开它,瞧,这正是我正在寻找的类加载日志。
所以回顾一下,以下是我要点的答案:
- 您可以拥有一个只包含
-verbose:class
的文件 - 将其保存到
wlp/usr/servers/<server name>/jvm.options
- 输出以
wlp/usr/servers/<server name>/logs/console.log
为单位