*更新
我是grails和stack的新手。我试图在控制器中实例化一个java类。我的.java文件位于/ src文件夹中。我已经测试了grails之外的类,它工作正常。但是,当我尝试从控制器实例化它时,我得到一个空指针异常。我的相关代码:
package matrices
import org.springframework.dao.DataIntegrityViolationException
class MFController {
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
def index() {
MatrixFactorization m = new MatrixFactorization()
def answer = m.getAnswer().toString()
return answer
}
我的追踪:
Message: null
Line | Method
->> 45 | run in matrices.MatrixFactorization
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 36 | <init> in ''
| 10 | index . . in matrices.MFController$$ENtqy0Aa
| 195 | doFilter in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter in grails.plugin.cache.web.filter.AbstractFilter
| 1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 603 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 722 | run in java.lang.Thread
MatrixFactorization class 35-45
public MatrixFactorization() {
double[] l1 = { 5, 3, 0, 1 };
double[] l2 = { 4, 0, 0, 1 };
double[] l3 = { 1, 1, 0, 5 };
double[] l4 = { 1, 0, 0, 4 };
double[] l5 = { 0, 1, 5, 4 }; //45
提前致谢
答案 0 :(得分:0)
问题出现在run
类的MatrixFactorization
方法的第45行,因为堆栈跟踪的第一行显示。该类正在实例化,但它在内部失败。在调用getAnswer()
之前是否有一些丢失的配置或设置?
答案 1 :(得分:0)
很高兴这对你有用。这里的评论也作为答案发布了。
包中是否有Java类?我假设矩阵,因为你的代码片段没有显示导入。我在访问默认包中的类时遇到了问题。尝试将其放在测试包下(如果尚未安装),然后将其导入控制器中。