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/
用于缓存甘特图脚本。您试图在哪里执行该代码?