我是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類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
在此先感謝
您列出了'index'方法,但看起來失敗在'list'方法中。 –
除了list()方法之外,請發佈MatrixFactorization類的源代碼,因爲堆棧跟蹤指出錯誤在該類的源代碼的第45行。還請指出哪一行是#45 – GreyBeardedGeek
1.您的Java類是否在src /或src/java下。應該是後者。 2.包中的Java類是什麼?我假設矩陣,因爲你的代碼片段不顯示導入。我遇到了訪問默認包中類的問題。嘗試將它放在測試包下(如果尚未),然後將其導入控制器。 – uchamp