问题标签 [ajdt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
929 浏览

eclipse - 无法在 Eclipse 中为 AspectJ 项目创建运行/调试配置

我有一个问题,我无法在 Eclipse 中正确运行/调试我的 AspectJ 项目。我的启动设置设置为“执行资源,或者如果不可能执行项目”。这是我想要和需要的,请不要建议我改变它。

我现在的问题是我有一个包含 2 个文件的项目:

  • 主类.java
  • 主类钩子.aj

如果我在项目资源管理器中选择 Mainclass.java,他会问我如何执行它(如果我选择项目本身也会发生同样的情况(但在项目中他会搜索 main-Classes)):

启动项目/Mainclass.java

这将在我每次启动项目时产生一个新的运行/调试配置:

在此处输入图像描述

如果我尝试从 MainclassHook.aj 打开启动,我只会收到一个简单的错误(而不是 Eclipse 尝试启动项目,就像我选择项目并启动它一样)

在此处输入图像描述

现在我认为解决方案是将 AspectJ/Java 应用程序添加到项目运行/调试设置列表中,但由于某种原因,我无法选择 AspectJ 启动:

仅显示 java 配置

如何实现我的 Eclipse 将正确运行我当前选择的文件,或者如果它不可启动,则关联项目与单个运行/调试配置是 AspectJ/Java 应用程序

0 投票
1 回答
437 浏览

aspectj - AspectJ 和地图大批

我正在使用基于 AspectJ 1.81 构建的 AJDT 2.2.4。

考虑这个简单的方面:

它在 LogMe 注释之前打印一些文本,即:

现在,我将此注释应用于某些方法:

SampleUtil 是

我收到这个警告:

如果我将sampleMethod参数更改为其他类似Map<String, Object> aMap的错误将会消失。

为什么我会收到此警告?!

0 投票
1 回答
2735 浏览

aop - aspectj for Android studio - AJDT 插件在哪里

我如何为 android studio 安装 AJDT。我知道 Eclipse 有一个,但我在 android studio 中找不到任何东西。我想做的是在我的每个方法调用启动之前对其进行安全检查。我已经从这个站点AJDT尝试过,但这是针对 Eclipse 的。

0 投票
0 回答
412 浏览

java - AspectJ:访问方面定义的字段(如何访问类型间成员?)

我目前正在第一次使用 AspectJ 来“弄湿我的脚”。我想在我的主框架 ( class Main extends JFrame) 上添加一个新按钮。这是我到目前为止所拥有的:

String- 以及 Button-field 的“静态横切”工作正常,但我想扩展我initAtoms在 Main 中定义的方法与按钮的初始化。为此,我必须访问在同一方面定义的字段,这对我不起作用。

我怎样才能做到这一点?不知何故,我无法访问字符串和按钮。

谢谢!

编辑:

这是我的主要课程的一部分:

0 投票
2 回答
614 浏览

java - 如何在 Java 中将变量发送到 Aspect?

我想知道是否有办法从主函数中获取变量并在方面使用它。我知道建议会在之前和之后执行,before()但他们怎么能得到和/或?after()methodeOneVAR1VAR2

0 投票
1 回答
2229 浏览

spring - gradle-aspectj:编织和 ajc 编译器选项在编译中工作但在测试任务中不工作

我已经通过AJDT插件在 Eclipse 中成功设置了编织,并通过gradle-aspectj插件在我的 gradle 构建中成功设置了编织(这花了相当长的时间......)。

在 Eclipse 中,这适用于生产和测试代码,即所有测试都通过。当我运行 gradle 构建时,生成的应用程序也可以正常工作,我可以看到各个方面都按预期工作。

然而,由于许多测试失败,gradle“测试”任务失败。我可以将大部分故障追溯到某个方面(这里:对于 spring 事务)不起作用或用于编码的某些 ajc 编译器选项未激活(有关详细信息,请参见此处)。当从 Eclipse 触发时,相同的测试运行良好。

为了使编织也可以用于测试,是否需要一些额外的配置?

我发现了一些相关的问题,但这并没有为我解决问题。看起来仍然没有选择任何方面,也没有激活编译器选项(我只在测试中看到编码错误)。

我的(缩写)build.gradle(注意:我很难让编织工作,所以这可能包含一些不必要的配置):

编辑:编码问题已通过 kriegaex 的片段解决。从 gradle 运行时测试中不存在的方面的问题仍然存在。大多数测试失败是因为

org.neo4j.graphdb.NotInTransactionException

这表明基于方法的注释

@Transactional

无效。有什么想法吗?

0 投票
1 回答
158 浏览

eclipse - 转换为 AspectJ 项目后 Ctrl+单击不起作用

在我的 SpringBoot 项目中启用 AspectJ 性质后,CTRL + click快捷方式不起作用。当我尝试使用时F3出现错误: 或仅适用于类字段名称(无法单击类字段类型)或构造函数。当我点击 时,问题就解决了。这是我的 STS 和 AJDT 版本:使用 F3 后出错 CTRL + clickF3project -> AspectJ Tools -> Remove AspectJ Capability

在此处输入图像描述

0 投票
1 回答
122 浏览

java - 如何减少AJDT的内存消耗?

我有需要在 Eclipse Workspace 中加载 20-30 个项目的情况。大多数项目都需要 AspectJ 编织。目前我们正在使用 LTW,但想转移到 CTW。问题是,在工作区中有 12 个 AJDT 项目,我在完全重建后被一些 AJDT 东西“吃掉”了大约 1Gb。我已经使用 AJDT 编译器选项

-Xset:minimalModel=true,typeDemotion=true

它有帮助,但作用不大。有什么方法可以关闭交叉引用视图并清除此视图所需的所有信息。我真的不需要它。我很高兴没有 LTW。

0 投票
0 回答
146 浏览

eclipse - 如何在氧气中为 aspectj 激活/启用代码建议?

在工作中,有的队友使用了 Eclipse 和 STS 插件的 Neon 版本,或者是 spring.io 官方打包的 STS。我刚刚安装了带有 STS 的 Oxygen 版本,甚至测试了打包的 STS。

但对我来说,AspectJ 代码建议不起作用。我尝试从 eclipse ajdt 支持页面安装最后一个开发版本(支持 Eclipse 4.7 的页面,以及支持 AspectJ 9 的 4.7 版本)。尽管我可以在 IDE 中选择显示和使用 AspectJ 编辑器,但我无法通过 Ctrl+Space 子菜单获得正确的代码建议。

我尝试重置工作区、清理项目、使用 maven 构建......以及所有这些东西。没有任何效果。

有没有人处理过这个问题并成功了?

此外,使用 Neon 包(Eclipse 4.6),没有问题,所以项目很好。

0 投票
1 回答
377 浏览

java - 将 Java 项目迁移到 AspectJ (Eclipse AJDT)

我正在开发一个 Java 1.8 项目,该项目包含多个模块和一个巨大的横切关注点 -几乎每个类、每个模块中都存在日志。我最近阅读了有关面向方面编程 (AOP) 的文章,我认为使用AspectJ使事情变得更加模块化会很好,就像这篇文章中的人所做的那样。我决定试一试...

由于我使用的是Eclipse Oxygen并且它与最新的AJDT不兼容,因此我下载了Eclipse Kepler和最新的AJDT。但是,我注意到,一旦安装了AJDT,所有 Java Compiller 的设置都设置为J2SE-1.4,我无法将其恢复为1.8,因为该选项在 IDE 上不再可用。这给我带来了很多编译器的错误,例如:

我感觉AJDT已经过时并且与最新的 java 版本不兼容。但是,由于这是我第一次尝试使用AOP,我想知道我是否没有遵循正确的路径......

所以,为了简单直接,我的问题是 - 是否可以将AJDTJava 1.8一起使用(可能手动(直接在文本文件上)编辑一些工作区配置而不是使用 IDE 的 UI 或类似的东西)?或者,要使用AJDT,我需要通过“修复”(例如)<>运算符以及最新版本的 Java 采用的其他几件事来使我的项目与旧 Java 版本兼容?