Grails无法识别Java类

Grails无法识别Java类,grails,Grails,我正在Windows7(32位)上使用Groovy/Grails工具套件3.1.0。我无法让Grails识别我在Grails应用程序的/src/Java目录中创建的简单Java类 这是我的java类: public class PleaseWork { public static void hello() { System.out.println("Hello from a java class."); } } package this.works;

我正在Windows7(32位)上使用Groovy/Grails工具套件3.1.0。我无法让Grails识别我在Grails应用程序的/src/Java目录中创建的简单Java类

这是我的java类:

public class PleaseWork {

    public static void hello()
    {
        System.out.println("Hello from a java class.");
    }
}
package this.works;

public class PleaseWork 
{

    public static void hello()
    {
       System.out.println("Hello from a java class.");
    }
}
我正在从我创建的服务调用java类:

package mypackage
class CreatePdfService {

    def serviceMethod() {

        PleaseWork.hello()
    }
}
我已经检查了项目的.classpath,我看到了以下内容:

<classpath>
<classpathentry kind="src" path="src/java"/>
<classpathentry kind="src" path="src/groovy"/>
<classpathentry kind="src" path="grails-app/conf"/>....
| Error 2013-02-18 15:59:10,898 [http-bio-8080-exec-4] ERROR errors.GrailsExceptionResolver  -   
MissingPropertyException occurred when processing request: [POST] /mypackage/main/createPdf
No such property: PleaseWork for class: mypackage.CreatePdfService. Stacktrace follows:
Message: No such property: PleaseWork for class: mypackage.CreatePdfService

我已经完成了grails刷新依赖项的工作,但没有任何效果。提供了什么?

您无法从包中的类访问“默认”包中的类。将类移动到与服务相同的包中,或者将其放入不同的包中并添加导入。

啊。。。谢谢你,伯特。我做了以下几件事

我在/src/java文件夹中创建了一个包。我把这个包裹叫做“这个,管用”

以下是我更新的Java类:

public class PleaseWork {

    public static void hello()
    {
        System.out.println("Hello from a java class.");
    }
}
package this.works;

public class PleaseWork 
{

    public static void hello()
    {
       System.out.println("Hello from a java class.");
    }
}
下面是我更新的Groovy类,它调用Java类:

package myPackage

import this.works.PleaseWork

class CreatePdfService {

   def serviceMethod() {
         PleaseWork.hello()
   }
}

这现在起作用了。我可以做一个grails run应用程序,我的Java类中的方法被调用。

我刚刚想出来:如果我想把我的Java类放在另一个包中,我可以放在哪里?任何你想要的有效包-只要根据需要添加一个导入,在你引用它的地方我尝试在src folder下创建一个Java文件夹,但编译器无法识别其中的任何类或包。将它放在services文件夹下是可行的。您应该能够将Java文件放在src/groovy下。你在用IntelliJ吗?如果没有src/java文件夹,而您手动添加它,则它不会自动被视为源文件夹,您需要右键单击它并选择“将目录标记为>源根目录”。我正在使用IntelliJ,我手动创建了文件夹,但我知道问题出在哪里。谢谢你的帮助