问题标签 [load-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 投票
1 回答
749 浏览

osgi - 如何将 Equinox Weaving 与 bndtools 一起使用

由于示例很旧并且无法正常工作,我该如何使用equinox Weavingbndtoolsequinox Weaving

更新:

尝试运行 Hello world 的编织示例时

我有两个捆绑包:

bnd.bnd

方面捆绑:

bnd.bnd

启动.bndrun

当我运行启动时:我也得到 Hello world not hello aspect,Aspect Weaving Hooks Plug-in (Incubation) 设置为 Resolved

问题是什么?

0 投票
0 回答
429 浏览

spring - 使用 TomcatInstrumentableClassLoader 时出现 ClassFormatError:非法修饰符:0x18

我正在使用TomcatInstrumentableClassLoader来实现 AspectJ 加载时间编织。

在我的应用程序的初始设置期间,我使用ClassUtils.getClass()加载所有类。

在这个阶段我得到

java.lang.ClassFormatError:com/abc/Foo 类中的方法 test_aroundBody0 具有非法修饰符:0x18

Foo.java是一个接口,而test()是接口中的默认方法。

当我使用默认的 ClassLoader 时,我没有收到此错误。

我正在使用
spring-instrument-tomcat-4.1.6
jdk-1.8.0_20
tomcat-7.0.47
aspectjweaver-1.8.5.jar

任何建议或答案将不胜感激。

0 投票
0 回答
1800 浏览

spring - Spring 4 和 Java 8 的 LoadTimeWeaving 问题

我通过 XML 启用加载时间编织

相关依赖如下:

我也在使用 Spring Instrument Java Agent 启动 JVM

而且我不断收到 NullPointerException (请参阅下面的异常)

我还尝试通过 Java 配置启用,但这也无济于事。

0 投票
0 回答
739 浏览

java - Spring Aspectj LoadTimeWeaving 不起作用

我在使用 AspectJ LoadTimeWeaving 编织方面时遇到问题

这是方面:

}

这是 aop.xml

我已经添加

到我的 bean 定义。

我加了

到 JVM 参数。

我在日志中看到的与编织有关的所有内容是:

没有类被编织。

我错过了什么吗??

0 投票
2 回答
1466 浏览

java - 使用加载时编织时未编织超类中的@Transactional

我正在从事的项目与DAOs下面的项目具有类似的结构:

到目前为止,该项目使用编译时编织,但配置已更改为使用<context:load-time-weaver/>with -javaagent:/opt/tomcat7-1/lib/spring-instrument.jar

由于已应用此更改,因此不再编织JpaBase' 和GenericDao'注释。@Transactional每次服务类调用对象的persist方法时PersonDao,都不会启动事务。

值得注意的是:

  • 这在过去使用编译时编织时可以工作。
  • 中定义的所有方法都PersonDao正确编织,但继承的方法(例如persist(Object entity))未编织。

编译时间编织和加载时间编织应该做同样的事情,只是在不同的时刻。为什么编织行为发生了变化?

0 投票
1 回答
1067 浏览

java - org/aspectj/runtime/reflect/JoinPointImpl 的零星 NoClassDefFoundError

我们将 aspectj (1.8.5) 与 Java (1.7) 和 Spring (3.2.3) 一起使用。我们使用加载时间编织。偶尔我们会看到这些错误是我们的应用程序启动时的日志。有时应用程序启动失败(由于错误),有时应用程序启动正确。

错误:

ERROR TaskUtils.java:95 - 计划任务中发生意外错误。 java.lang.NoClassDefFoundError: org/aspectj/runtime/reflect/JoinPointImpl at org.aspectj.runtime.reflect.Factory.makeJP(Factory.java:164) ~[aspectjweaver-1.8.5.jar:1.8.5]

这会在大约半分钟内发生多次,然后应用程序是否成功克服了这个问题。

也许我们在 Spring 上运行的事实可能会引起一些干扰?

应用程序上下文.xml:

Tomcat 的 context.xml:

在我们的 pom.xml 中,我们有这些依赖项(与 aspectJ 和 spring aop 相关):

有人可以对此有所了解吗?

谢谢你。

0 投票
2 回答
643 浏览

java - LTW 场景中未应用 AspectJ 方面

我正在尝试在独立应用程序中使用 AspectJ,但似乎不起作用。

这是我创建的类-

同样在 src/META_INF 文件夹下,我创建了 aop.xml 文件

然后从命令行,当我尝试使用以下命令运行 Test.java 时,建议中的 System.out.println 不会被打印 -

谁能让我知道我做错了什么。

谢谢 AA

0 投票
1 回答
210 浏览

c# - 如何在程序集中创建现有类型以在 .Net 中实现接口

如何使程序集中的现有类型在运行时实现接口(提取接口然后实现它)(使用运行时编织、Mono.Cecil、Common Compiler Infrastructure...)

装配类:

生成

0 投票
0 回答
670 浏览

spring-mvc - JPA 在休眠状态下,将 AvailableSettings.USE_CLASS_ENHANCER 属性设置为 true 会引发 java.lang.ClassCircularityError

我设置了弹簧应用程序。一切正常。但是当我将 Hibernate AvailableSettings.USE_CLASS_ENHANCER 属性设置为 true 时,我得到了java.lang.ClassCircularityError.

这是我的配置。首先,我使用的是 log4j2。这是我的 log4j2 文件。

log4j-xinclude-appenders.xml:

log4j-xinclude-loggers.xml:

log4j2.xml

这是我的春季设置

根上下文配置

持久性配置

现在,如果我取消评论我的记录log4j-xinclude-loggers.xml

然后我得到这个异常跟踪

为什么有线2015-09-15 17:12:00,986 ERROR Recursive call to appender WroxFileAppender?看到它的模式与我在附加程序中定义的不同。

现在,如果我注释掉我的WroxFileAppenderThen 我的Console appender.. 如果我注释掉我的两个附加程序。然后我得到以下异常跟踪

为什么我会收到这些 ClassCircularityError 错误。我做错了什么?我正在使用Maven, Java 8 update 60, Spring 4.2.1, Hibernate 5.0.2, Spring-data-JPA 1.9.0. maven 依赖是否会导致这些问题?

如果我将属性设置为false喜欢properties.put(AvailableSettings.USE_CLASS_ENHANCER, "false");然后一切正常。我想使用它是因为(mappedBy)JPA 的反面导致的延迟加载问题。

谢谢

编辑

我的 POM

0 投票
0 回答
1096 浏览

spring - 弹簧加载时间编织

经过 12 小时的尝试,我似乎无法让 Spring加载时间编织在 Tomcat 上工作。

  • 春天 4.2.1
  • 休眠 4.3.11
  • 雄猫 8.09

我正在尝试@Entity自动接线。

weaver输出总是说:

除非我也在上面使用@Configuration注释。然后它会编织,但我会得到SPRIGNCGLIB所有属性所在的代理null

如果我删除@Configuration注释(我认为它不应该在那里),那么我不会得到任何编织并且@Autowired属性总是null.

这是我的配置:

applicationContext-beans.xml

类/META-INF/aop.xml

我的实体.java

上下文.xml

Tomcatlib文件夹有(我不确定它是否需要这两个):

  • spring-instrument-4.2.1.RELEASE.jar
  • spring-tomcat-weaver-2.5.6.SEC03.jar

应用程序WEB-INF/lib文件夹具有:

  • aspectjweaver-1.8.6.jar
  • spring-aop-4.2.1.RELEASE.jar
  • spring-aspects-4.2.1.RELEASE.jar

我试过用

-javaagent:D:/my/path/to/server/apache-tomcat-8.0.9/lib/spring-instrument-4.2.1.RELEASE.jar

但它没有帮助,根据Spring LTW 文档context.xml片段是执行此操作的首选方式。

有没有人有任何想法?