gpt4 book ai didi

java - 命令行加载时编织

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:40 25 4
gpt4 key购买 nike

所以我开始使用 AspectJ 并遇到了问题。以下示例在 Eclipse 中完美运行,但是当我尝试在 bash 中运行它时,它不起作用。

这是我将监视的代码:

public class TestClass {
public static void method1() {
System.out.println("Hello World!");
}

public static void main(String[] args) {
method1();
}
}

这是我的方面类:

import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

@Aspect
public class LogMe {
@Pointcut("call(public* TestClass.*())")
public void metCall() {}

@After("metCall()")
public void aftercallAdvice() {
System.out.println("Blah");
}
}

我所做的是使用 META-INF/aop-ajc.xml 创建名为“apsects.jar”的 jar

<?xml version="1.0" encoding="UTF-8"?>
<aspectj>
<aspects>
<aspect name="LogMe"/>
</aspects>
<weaver options="-showWeaveInfo"/>
</aspectj>

我尝试这样运行它:

java -javaagent:/home/tdi/dev/test/aspectjweaver.jar -classpath "aspects.jar;/home/tdi/dev/test/aspectjrt.jar"TestClass

我得到的是:

错误:无法找到或加载主类 TestClass

如何在 LTW 方面运行此应用程序?

最佳答案

也许 TestClass 没有与方面一起出现在 JAR 文件中可能是一个问题。您可以尝试将带有 aop-ajc.xml 的文件夹 META-INF 放入包含 TestClass.class 的工作目录中。

另一个选择是将您的运行命令与 Eclipse 的运行命令进行比较。您可以通过在 Debug模式下运行项目来执行此操作,然后右键单击该进程并打开其属性。然后就可以在命令行看到eclipse是如何运行项目的。

关于java - 命令行加载时编织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20108298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com