grails - 为什么我们仍然在 Groovy/Grails 中使用 package 关键字?

标签 grails groovy

在 Java/Groovy 中,afaik,必须在相应的文件夹中定义一个包。这导致存储在 /a/b/c 中的所有类文件都以 package a.b.c 行开头。这还有必要吗?关于约定优于配置,这不是 DRY...

如果这个包定义是可选的,会出现什么样的问题?

最佳答案

虽然目录结构与包结构相匹配是常规做法,如果不匹配会出现某些问题,但实际上并不要求它们匹配。 Java 也是如此(尽管很多人没有意识到这一点)。

下面是一个例子来说明这一点。

groovydemo $ mkdir classes
groovydemo $ 
groovydemo $ cat src/groovy/com/demo/SomeClass.groovy 
package com.somethingotherthandemo

class SomeClass {}
groovydemo $ 
groovydemo $ groovyc -d classes/ src/groovy/com/demo/SomeClass.groovy 
groovydemo $ find classes -type f
classes/com/somethingotherthandemo/SomeClass.class

关于grails - 为什么我们仍然在 Groovy/Grails 中使用 package 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397636/

相关文章:

grails - 我可以将参数从 Controller 传递到服务类吗

unit-testing - Grails/Spock : How to mock single method within class where method is called from within the class itself?

spring - 在 Grails 3 中将 JNDI 添加到嵌入式 Tomcat 服务器

grails - 用大量变量更新域类对象的最佳方法是什么

grails - Groovy 文件名和类名不同

hibernate - Grails组合键上的一对多映射stalestaleException

groovy - 如何在没有 Grails 的情况下创建 GSP 标签库

grails - 什么是渴望获取和懒惰获取?

groovy - 默认情况下,Soap UI 在 new File() Groovy Script 中在哪里查找文件?我如何改变这个?

Grails 如何解析文本文件?