如何访问Grails3.3.11中src/main/java中的域类?
我的域类有两个值name1和name2。我可以使用UI设置name1,我想使用一个调用java类方法的服务设置name2。i、 e src/main/java 当我运行该应用程序时,我收到以下错误:“包trygroovyandjava不存在” //域类如何访问Grails3.3.11中src/main/java中的域类?,java,grails,groovy,import,grails3,Java,Grails,Groovy,Import,Grails3,我的域类有两个值name1和name2。我可以使用UI设置name1,我想使用一个调用java类方法的服务设置name2。i、 e src/main/java 当我运行该应用程序时,我收到以下错误:“包trygroovyandjava不存在” //域类 package trygroovyandjava class Name { String name1 String name2 static constraints = { name1 nullable: fal
package trygroovyandjava
class Name {
String name1
String name2
static constraints = {
name1 nullable: false
name2 nullable: true
}
}
//服务
package trygroovyandjava
import grails.gorm.transactions.Transactional
@Transactional
class SetName2Service {
def serviceMethod(Name name) {
setname.Name2.setNames(name)
}
}
//java类
package setname;
import trygroovyandjava.Name;
public class Name2 {
public static void setNames(Name name){
String name2="vishal";
name.setName2(name2);
}
}
我有了解决方案,在build.gradle中添加这段代码,或者只在build.gradle中添加所有java类 src/main/groovy
sourceSets { main { java { srcDirs = [] } groovy { srcDirs += ['src/main/java'] } } }
@EugeneHoza软件包名称我让解决方案在build.gradle中添加此代码,或者只在src/main/groovy
sourceset{main{java{srcDirs=[]}groovy{srcDirs+=['src/main/java']}中添加所有java类
在Grails应用程序中,常见的约定是将Java和Groovy源代码放在src/main/Groovy/
下,如果这样做,就不必偏离默认的Gradle配置。如果出于某种原因希望将它们保存在单独的目录中,那么配置srcDirs
将允许您这样做,正如您所发现的。相同的约定适用于任何混合Groovy和Java源代码的Gradle项目,而不仅仅是Grails应用程序。