Grails .class文件的绝对路径?

Grails .class文件的绝对路径?,grails,classloader,Grails,Classloader,我想从类加载器中找到类文件的绝对路径。 所以当我这样做的时候: println("Absolute path for class MyClassName: ${(new MyClassName()).getClass().getClassLoader().getResource("").getPath()}") 我得到以下输出: 类MyClassName的绝对路径:/home/codehx/git/myAppName/target/work/scriptCache/ 当我期待得到: 类路径的绝

我想从类加载器中找到类文件的绝对路径。
所以当我这样做的时候:

println("Absolute path for class MyClassName: ${(new MyClassName()).getClass().getClassLoader().getResource("").getPath()}")
我得到以下输出:

类MyClassName的绝对路径:
/home/codehx/git/myAppName/target/work/scriptCache/

当我期待得到:

类路径的绝对路径:
/home/codehx/git/myAppName/target/classes/com/app/myAppName

我是在bootstrap上这样做的,所以可能上面的代码试图给出
bootstrap.class
文件的路径

所以我检查了两个目录(
/home/codehx/git/myAppName/target/work/scriptCache/
/home/codehx/git/myAppName/target/classes/com/app/myAppName
),发现:

BootStrap.class
on
/home/codehx/git/myAppName/target/classes/com/app/myAppName

\u GrailsBootstrap\u groovy.class
on
/home/codehx/git/myAppName/target/classes/com/app/myAppName

两者之间的区别是什么?grails中使用scriptCache目录的目的是什么


谢谢。

相反,如果你解释一下你试图通过类的绝对路径实现什么,为什么你需要知道类的确切路径,有人可能会提供更好的解决方案。这将为您提供文件系统新文件中的路径(MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());查看一下,似乎
/path/to/app/target/work/scriptCache/
用于缓存甘特图脚本。您试图在哪里执行该代码?