如何禁用AspectJ转储文件“ ajcore.txt”

jhu*_*ado 5 java tomcat aspectj

我有一个Tomcat Web应用程序,其中使用AspectJ进行日志记录和度量标准,一切似乎都很好,但是它会像ajcore.20150310.113255.780.txt在根文件夹中一样继续创建几个文件 。此文件中没有例外,因此它们完全没有用。

我发现了这一点:https : //eclipse.org/aspectj/doc/released/pdguide/ajcore.html

那表明使用org.aspectj.weaver.Dump.exception="false"应该禁用此行为,但是文件仍然出现。还有其他方法可以完全禁用此文件的创建吗?提到的另一个选项:org.aspectj.dump.directory也可以解决问题,但似乎也不起作用。

这是文件的内容,以防万一:

---- AspectJ Properties --- 
AspectJ Compiler 1.7.1 built on Thursday Sep 6, 2012 at 16:39:22 GMT
---- Dump Properties --- 
Dump file: ajcore.20150310.113255.780.txt 
Dump reason: org.aspectj.weaver.BCException 
Dump on exception: true 
Dump at exit condition: abort
---- Exception Information ---
---- System Properties --- 
... My system properties here
---- Command Line --- Empty
---- Full Classpath --- Empty
---- Compiler Messages --- Empty
Run Code Online (Sandbox Code Playgroud)

kri*_*aex 0

我认为 AJ 核心转储发生是件好事,因为在 LTW 编译期间似乎出现了问题:

Dump file: ajcore.20150310.113255.780.txt 
Dump reason: org.aspectj.weaver.BCException 
Run Code Online (Sandbox Code Playgroud)

因此存在异常,您应该调查并修复它。也许您的某些类与日志记录代码正确地交织在一起,而有些则不然。以详细模式运行编织器并检查控制台输出,也许您会看到一些奇怪的东西。AJ 核心文件意味着编织器/编译器完全关闭(异常终止)。

至于实际问题,我认为

---- Command Line --- Empty
Run Code Online (Sandbox Code Playgroud)

看起来很奇怪,好像没有命令行参数传递给编织器。此外,实际上没有记录任何异常确实很不寻常。

您使用的是哪个 Java 版本?我假设使用 Java 7,因为 1.6 确实很旧,而 Java 8 需要 AspectJ 1.8。无论如何,您可以尝试使用最新的 AspectJ 版本 1.8.5 或至少旧版本中的最新 1.7.4,看看问题是否仍然出现?