如何配置grails类路径以添加;src/groovy“;文件夹(在Linux环境中)?
我目前正在将我的开发环境从Windows移植到Linux 在Linux下,我注意到一个与目录如何配置grails类路径以添加;src/groovy“;文件夹(在Linux环境中)?,linux,grails,groovy,classpath,Linux,Grails,Groovy,Classpath,我目前正在将我的开发环境从Windows移植到Linux 在Linux下,我注意到一个与目录/src/groovy中的类相关的“找不到类”编译错误。在windows下,它工作正常 在运行“grails run app”时,这个“src/groovy”目录是否包含在CLASSPATH中?为什么它在Windows和Linux下的行为有所不同?(GRAILS\u HOME和GROOVY\u HOME都在这两种环境中定义) 有没有办法在日志中显示当前的类路径 最重要的是,我如何解决我的问题?(除非通过设
/src/groovy
中的类相关的“找不到类”编译错误。在windows下,它工作正常
在运行“grails run app”时,这个“src/groovy”目录是否包含在CLASSPATH
中?为什么它在Windows和Linux下的行为有所不同?(GRAILS\u HOME
和GROOVY\u HOME
都在这两种环境中定义)
有没有办法在日志中显示当前的类路径
最重要的是,我如何解决我的问题?(除非通过设置全局类路径=/src/groovy
)
谢谢你的帮助
问候,
Fabien。是的,当使用grails命令时,src/groovy和src/java自动位于类路径中。我建议确保您的包语句是正确的,并且错误不是指代码引用的内容。在Windows上执行
grails clean
后,代码是否仍然有效
我想知道您是否已经重构,并且在您的classes目录中仍然有一个旧版本。否则,请按照您的预期验证.class文件的情况(正如John W.所建议的)
请记住,Linux文件系统通常区分大小写,而Windows则不区分大小写(事实上)
您能发布您看到的异常吗?
类路径
不是用于源代码,而是用于已编译的二进制类。您需要设置项目,而不是Grails
您可以从Grails控制台
检查Grails环境,例如,评估System.getProperty(“java.class.path”)
。控制台是否运行
这可能是您的文件夹结构或权限的问题-您可以检查
src/groovy
owner和rights,它可能属于另一个用户吗?我将再次检查…但相同的代码在Windows下编译良好。另外,您知道如何显示当前的类路径吗?当您运行应用程序或测试应用程序时,groovy文件都会被编译,因此您可以查看$HOME/.grails//projects//classes/以查看是否有来自src/groovy的文件(除非您指定了grails.work.dir)。您可以尝试Thread.currentThread().getContextClassLoader().getURLs(),但这应该只指向类目录。是的。在“grails清理”之后,它在Windows上运行良好。我将尝试显示类路径目录,并查看类目录。如果经过调查,我仍然没有找到修复,我将向您发布异常和源代码。谢谢您的帮助。另外,您可能希望在grails clean
之后尝试grails run app-verboseCompile
。您是否使用grails run app
或其他方式运行应用程序,可能是从某个IDE?