2013-02-18 8 views
2

Windows 7 (32 비트)에서 Groovy/Grails Tool Suite 3.1.0을 사용하고 있습니다. Grails가 내 Grails 애플리케이션의/src/java 디렉토리에 만든 간단한 Java 클래스를 인식하도록 할 수는 없습니다.Grails가 Java 클래스를 인식하지 못함

public class PleaseWork { 

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

내가 만든 서비스에서 자바 클래스를 호출 오전 : 여기

내 자바 클래스입니다

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"/>.... 

내 Java 소스 디렉토리가 포함되어 있으며 설정이 없습니다. 그것을 제외하십시오. 모든 것이 좋아 보인다.

제 생각에는 그 Java 클래스를 아무 문제없이 호출 할 수 있어야한다는 것입니다. 그리고 아무 문제없이 grails run-app를 할 수 있습니다. 하지만 내 응용 프로그램을 실행하고 코드가 나는 다음과 같은 얻을 PleaseWork.hello()를 호출하려고 할 때 ... :

| 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는 새로 의존성 아무것도 작동하지 않습니다. 뭐라 구요?

+0

방금 ​​알아 냈습니다. – user2085154

답변

4

패키지의 클래스에서 "기본"패키지의 클래스에 액세스 할 수 없습니다. 클래스를 서비스와 동일한 패키지로 이동하거나 다른 클래스에 넣고 가져 오기를 추가하십시오.

2

아 ... 감사합니다. 버트. 나는 다음을했다 ....

그/src/java 폴더 안에 패키지를 만들었다. I 패키지 "this.works"여기

라는 내 업데이트 된 자바 클래스 : 여기

package this.works; 

public class PleaseWork 
{ 

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

는 자바 클래스 호출 내 업데이트 그루비 클래스입니다 :

package myPackage 

import this.works.PleaseWork 

class CreatePdfService { 

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

이 지금 작동 . 나는 grails run-app를 할 수 있고 자바 클래스의 메소드가 호출된다.

관련 문제