每次我在命令提示符下运行mvn clean install tomcat7:deploy时,都会失败.当我打开生成的日志文件时,它表示常量池中存在无效的字节标记.它指定的文件是java/lang/CharSequence.class.
这是日志:
---- AspectJ Properties ---
AspectJ Compiler 1.6.9.RC3 built on Wednesday Jun 30, 2010 at 15:46:30 GMT
---- Dump Properties ---
Dump file: ajcore.20141116.131622.157.txt
Dump reason: org.aspectj.apache.bcel.classfile.ClassFormatException
Dump on exception: true
Dump at exit condition: abort
---- Exception Information ---
org.aspectj.apache.bcel.classfile.ClassFormatException: File: 'java/lang /CharSequence.class': Invalid byte tag in constant pool: 15
at org.aspectj.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:192)
at org.aspectj.apache.bcel.classfile.ClassParser.parse(ClassParser.java:131)
at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:412)
at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:373)
at org.aspectj.weaver.World.resolveToReferenceType(World.java:452)
at org.aspectj.weaver.World.resolve(World.java:298)
at org.aspectj.weaver.World.resolve(World.java:211)
at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:95)
at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:41)
at org.aspectj.weaver.bcel.BcelObjectType.ensureGenericSignatureUnpacked(BcelObjectType.java:807)
at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredInterfaces(BcelObjectType.java:255)
at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:625)
at …Run Code Online (Sandbox Code Playgroud) 将maven插件从1.7升级到1.8会导致以下错误消息:
[错误] com.sun的'dependencies.dependency.systemPath':tools:jar必须指定绝对路径,但是$ {toolsjarSystemPath} @pom.xml/ash-domain line 1
我正在将我的项目从java 7迁移到java 8,我遇到的问题与使用aspectj编织有关aspectj-maven-plugin.
根据Haus文档,我可以使用在Java 6和7上运行的这个插件成功配置编织.但问题是我还没有找到任何方法来使用(并找到)支持java 8的插件版本7.我在这里看到插件7增加了java 8支持,但找不到使用它的方法.
这是我需要的配置插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.7</version> <!-- AspectJ weaver plugin 7 is for java 8 (version 1.6 is for java 7) -->
<configuration>
<complianceLevel>1.8</complianceLevel>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我确认使用版本1.6的上述代码适用于Java 7,但没有运气试图使用1.7版.
你知道如何运行在Java 8上运行的spring + aspectj的weaver吗?
我已经在这里跟踪了几乎所有的JUnit + Maven + AspectJ问题,甚至我很确定我已经正确设置了所有内容,我无法测试它.
我有一个Maven模块只有一个方面:
@Aspect
public class AssertionAspect {
@Pointcut("execution(@org.junit.Test * *())")
public void testMethodEntryPoint() {}
@Before("testMethodEntryPoint()")
public void executeBeforeEnteringTestMethod() {
System.out.println("EXECUTE ACTION BEFORE ENTERING TEST METHOD");
}
@After("testMethodEntryPoint()")
public void executeAfterEnteringTestMethod() {
System.out.println("EXECUTE ACTION AFTER ENTERING TEST METHOD");
}
}
Run Code Online (Sandbox Code Playgroud)
非常简单.我想要做的就是在我的测试项目中每次执行任何测试方法之前和之后做一些事情@Test.
现在,我使用aspectj-maven-plugin我的<build>是这样的:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<aspectLibraries>
<aspectLibrary>
<groupId>my.package</groupId>
<artifactId>with-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
<source>1.6</source>
<target>1.6</target>
</configuration>
<executions>
<execution>
<goals>
<goal>test-compile</goal>
</goals>
<configuration>
<showWeaveInfo>true</showWeaveInfo>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build> …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Android Studio中配置AspectJ.
但经过一切试验和错误,它不起作用!令人惊讶的是,我能够使用Eclipse Kepler版本
.我遵循Android Studio的步骤
Android项目AspectJ在插件部分搜索
compile 'org.aspectj:aspectjrt:1.8.1'到build.gradle(模块:app)Analytics_onBackPressed.aj 为后退按钮检测而设计Analytics_OnClick.aj为点击事件检测而创建Analytics_onCreate.aj为组件创建事件检测创建*.aj类将在内部调用的必要依赖类我的问题是使AspectJ与Android Studio一起工作所需的更多问题
Eclipse中遵循的步骤使AspectJ正常工作
EclipseKepler版本AspectJ Development Tools (Required).Analytics_onBackPressed.aj 为后退按钮检测而设计Analytics_OnClick.aj为点击事件检测而创建Analytics_onCreate.aj为组件创建事件检测创建
使用环境
Android Studio:2.1.2
JRE:1.8.0
Windows 7企业版
任何帮助都非常感谢! …
我将JDK版本从8切换到9,由于缺少tools.jar,AspectJ插件不再有效:
目标org.codehaus.mojo的执行默认值:aspectj-maven-plugin:1.10:编译失败:插件org.codehaus.mojo:aspectj-maven-plugin:1.10或其中一个依赖项无法解析:找不到工件com .sun:tools:jar:9.0.1在指定路径C:\ Program Files\Java\jdk-9.0.1 /../ lib/tools.jar
我知道从Java 9 JDK中删除了tools.jar(和rt.jar).我想知道是否有办法让Maven AspectJ插件在没有tools.jar的情况下使用Java 9?
这是我的插件定义版本信息:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.10</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
<complianceLevel>1.9</complianceLevel>
<showWeaveInfo>true</showWeaveInfo>
<XnoInline>true</XnoInline>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.9.0.RC2</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.9.0.RC2</version>
</dependency>
</dependencies>
</plugin>
Run Code Online (Sandbox Code Playgroud) 我对这个主题感到很困惑,并且在Spring 4.x文档中看到了很少的建议.首先让我说我可以按照我想要的方式配置我的项目.静态编织,编织时编织,无编织等
我只想要最佳性能.但如果性能差异是微秒,那么我只想要最简单.我只关心会影响我的客户的性能差异.
好的,以下是相关选项:
只要在运行时速度很快,我就可以为应用程序初始化添加一些时间.
那么这四种配置事务管理方式之间的权衡是什么?
是否有功能权衡还是仅仅是性能问题?
请注意,我使用的是Spring 4.0.2和Java 1.7.如果有基本上回答这个问题的Spring 4.0文档,那么我道歉并且只是将我重定向到doc.到目前为止,我已经看到文档说明如何设置它们而不是它们如何比较.谢谢!
另请注意,网络上关于此的大部分信息都已过时.所以我正在寻找当前的比较.
我在maven构建期间收到警告,我想修复.
maven构建期间生成的警告:
[INFO] --- aspectj-maven-plugin:1.4:编译(默认)@core --- [警告]在C:\ Users\DR25687.m2\repository\org\aspectj\aspectjrt\1.7中找到错误的版本号. 1\aspectjrt-1.7.1.jar 预计1.6.11发现1.7.1
pom文件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<showWeaveInfo>true</showWeaveInfo>
<source>1.7</source>
<target>1.7</target>
<verbose>true</verbose>
<Xlint>ignore</Xlint>
<complianceLevel>1.7</complianceLevel>
Run Code Online (Sandbox Code Playgroud)
家长POM
<org.aspectj.version>1.7.1</org.aspectj.version>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj.version}</version>
<scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud) 我有一个使用 Mojo 的 AspectJ Maven 插件的项目。它适用于 jdk 8。当我尝试切换到 jdk14 时,构建失败并出现以下错误:
[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.11:compile (default) on project AspectJDemo: Execution default of goal org.codehaus.mojo:aspectj-maven-plugin:1.11:compile failed: Plugin org.codehaus.mojo:aspectj-maven-plugin:1.11 or one of its dependencies could not be resolved: Could not find artifact com.sun:tools:jar:13.0.2 at specified path /usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home/../lib/tools.jar -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
Mojo 的网站确认此文件是必需的依赖项。但是,根据此tools.jar 自 jdk 9 以来已被删除。我尝试在我的依赖项中提供此 jar 文件的硬编码路径,如下所示:
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>/path/to/tools.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但是随后构建完全失败,就好像它完全停止识别 Java 一样。我收到许多错误,例如:
[ERROR] can't find critical required type java.lang.Object
<unknown source file>:<no …Run Code Online (Sandbox Code Playgroud) 大家好,我在运行我的应用程序时在 Spring-Boot 上收到以下错误:
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:189)
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:131)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'timedAspect' defined in class path resource [com/project/service/config/MicrometerConfig.class]: Bean instantiation via factory method failed; nested …Run Code Online (Sandbox Code Playgroud)