2014-02-11 21 views
0

我想导入一个java类到Grails和运行非常简单的事情“一”到文件,打印(这只是用于测试)导入Java文件中的Grails

我的控制器看起来像:

package convertingsystem 

import examplepkg.testing 

class ConvertController { 

    def index() { 

     examplepkg.testing.afada() 

    } 
} 

的Java文件看起来像如下:

package examplepkg; 

import java.io.FileNotFoundException; 
import java.io.PrintWriter; 
import java.io.UnsupportedEncodingException; 

/** 
* 
* @author XPMUser 
*/ 
public class testing{ 

    public void afada() throws FileNotFoundException, UnsupportedEncodingException{ 
      PrintWriter writer = new PrintWriter("ediOrder.txt", "UTF-8"); 
      writer.println("a"); 
      writer.close(); 
    } 
} 

错误:

URI 
/convertingsystem/convert/index 
Class 
groovy.lang.MissingMethodException 
Message 
No signature of method: static xamplepkg.testing.afada() is applicable for argument types:() values: [] Possible solutions: wait(), any(), find(), wait(long), each(groovy.lang.Closure), find(groovy.lang.Closure) 

我想要做的只是从grails级别执行这个java文件(我的意思是进入控制器的地址并在我的本地服务器上获取这个文件)

+1

不知怎的,你不提的问题是什么,所以很难来帮助你。有一件事是在我的脑海中 - 你是否意识到在你称之为方法之前必须创建对象的事实? – lukelazarovic

+0

我只是忘了 - 但现在已更新 – user3114157

回答

1

如果你想调用一个没有类的方法创建一个实例,该方法已被标记为静态:

public static void afada() throws FileNotFoundException, UnsupportedEncodingException{ 
    PrintWriter writer = new PrintWriter("ediOrder.txt", "UTF-8"); 
    writer.println("a"); 
    writer.close(); 
} 

,或者你必须先创建一个实例:

new examplepkg.testing().afada()