1

我正在构建一个 JavaAgent,它可以--javaagent:my.jar=<option>在运行时通过 jvm 加载或动态附加到 jvm(例如virtualMachine.loadAgent(jarFile, "");)。在任何情况下,它都需要一个带有适当 manifest.txt 文件的 Jar 文件才能工作。这对我现在的测试来说是个问题。

我正在使用 Gradle,目前正在努力解决以下问题:

  1. Gradle 的测试任务不依赖于 Jar(见这里)=> 需要为测试执行添加该依赖项
  2. 默认情况下,编译的测试类被添加到类路径中。测试类路径必须去掉,替换成jar文件名

任何想法如何实现这一点。尤其是第二个?

谢谢你的帮助

4

1 回答 1

0

我假设通过 2 中的“编译测试类”,您实际上是指主要类

如果是这样,您应该可以像这样执行 1 和 2

 sourceSets {
     test {
         runtimeClasspath = output + configurations.testRuntime 
     }
 }

dependencies {
   testRuntime files(jar.archivePath) {
        builtBy jar
   }
}
于 2014-03-05T05:10:16.723 回答