问题标签 [compile-time-weaving]

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 投票
0 回答
103 浏览

equinox - Equinox Weaving 在 Virgo Tomcat 中不起作用

我正在使用春分编织在 Virgo tomcat 中的捆绑包中进行方面,我遵循了编织示例。它在 Eclipse 目标平台上运行良好。但是当我部署到处女座时,它不起作用。

我修改了 config.ini 如下

启动 Virgo 时没有异常发生,并且 bundles 的状态是正确的

我发现控制台有些不同。在eclipse目标平台启动时,控制台中显示下两条语句

但是在处女座开始时,只显示第二个。我认为也许钩子没有正确启动,但我不确定。任何人都可以帮助我吗?

0 投票
3 回答
3175 浏览

java - 对 ajc 如何与 javac 一起工作感到困惑

我有点困惑 AspectJ 编译器是如何ajc工作的。据我了解,在谈论 CTW 时,ajc 用于将方面编织到已编译的字节码中 - 即:.class 文件。

但是,当我查看 AspectJ ( aspectj-maven-plugin) 的 maven-plugin 时,发现它是在generate-sourcesjavac 编译器之前的 maven 阶段运行的。这意味着编译器在方面编织之后运行。这是有道理的,因为您可以编织 ITD、修改类成员等,Java 编译器需要了解这些信息才能编译任何依赖类。

所以如果是这样的话,并且ajc在javac之前运行,我认为ajc必须首先将所有java代码编译成字节码才能在任何方面进行编织。

那么问题来了,如果ajc已经把所有的 java 代码都编译成字节码,那为什么 javac 还需要运行呢?为什么不是ajc唯一需要的编译器?两者都运行不只是重复努力吗?另外,如何javac处理ajc已经编译的类?它是否只是忽略它们,因为自生成 .class 文件以来源文件没有更改?

0 投票
1 回答
3871 浏览

maven - 如何配置aspectj以获得编译后编织(使用maven)?

如何配置 AspectJ 以获得编译后编织?我只是在下面的插件中将“compile”替换为“post-compile”:(不用说这是不安全的)

但我错过了一些东西,因为它给出了以下错误:

0 投票
1 回答
1740 浏览

maven - 从 Maven aspectj weavedependencies 中排除某些包

是否可以从 AspectJ weaveDependencies 中创建一个例外(即要排除的东西)?类似于下面带有大写字母的行?

0 投票
0 回答
512 浏览

java - JPA with EclipseLink 2.3 Lazy Loading Weaving Method Not Found 异常

我们有一个带有 JPA eclipselink 2.3 的 Web 应用程序。

我们要启用延迟加载,这需要我们启用编织。编织过程运行良好,只是在我们运行页面时会导致一些错误。

错误如下:

我们的 persistence.xml 包含以下行:

0 投票
1 回答
713 浏览

spring - 在 Spring 中使用缓存抽象进行编译时编织

目前我正在使用代理使用缓存抽象。代理的问题是内部方法调用不起作用。现在,我想使用编译时编织而不是代理作为内部方法调用的工作原理。我在谷歌上搜索过,但我没有找到任何解释如何使用编译时编织的实质性链接。加载时间编织有很多链接。任何人都可以举出任何使用缓存抽象或一些相关链接进行编译时编织的例子吗?

提前致谢。

0 投票
1 回答
118 浏览

hibernate - 无法让 JPA 实体管理器使用 java 配置(无 XML)

我能够配置数据源、JPA 事务管理器和 Spring 方面的 jar 文件。准确地说,我想要 AspectJ 编译时编织 (CWT)。如果有人这样做,请分享完成此操作的任何线索。

0 投票
0 回答
1271 浏览

java - eclipseLink 2.5.1 静态编织 NoSuchMethodError

我在 Tomcat 8 上使用 EclipseLink 2.5.1。尝试静态编织 jar,但在运行时出错。

Employee 扩展了一个用@MappedSuperclass 注释的超类。超类在不同的罐子里。我试图编织罐子,带有​​@MappedSuperclass 的超类没有编织。

如果我禁用静态编织,Tomcat 不支持动态编织。所有惰性属性都将变为渴望获取。有没有办法控制获取图?fetch graph 就是去获取惰性属性,不能让 eager 属性变得惰性。

谢谢。

0 投票
1 回答
505 浏览

java - AspectJ 编译时编织 - 获取输出源代码?

有没有办法通过 AspectJ 编译来获取源文件?因此,ajc 不是获取字节码,而是作为预处理器工作,生成可以用 javac 编译的 Java 源代码?

0 投票
3 回答
175 浏览

c# - Visual Studio 编辑器看不到我生成的类型

使用 Cecil,我正在修改某个项目的程序集以包含一些额外的接口。这是由我的项目文件中的 AfterBuild 目标触发的,该目标调用自定义任务。这工作正常。生成的程序集将按应有的方式进行修改。

但是,我有另一个项目依赖于正在修改其程序集的项目。在 Visual Studio 2013 代码编辑器中工作时,Visual Studio 似乎根本无法识别我生成的类型,即使构建工作正常。

我试过直接引用生成的程序集而不是项目,但结果是一样的。不知何故,编辑器看不到构建所看到的内容。

这可能是什么原因造成的?如何让编辑了解这些类型?

编辑:看起来问题不在于视觉工作室本身,而是更清晰。当我暂停 resharper 时,编辑器不再显示任何红色符号,也不会抱怨未解析的符号。

所以现在的问题是,如何让我更清晰地了解我生成的类型?