2016-08-01 47 views
1

我有以下的目錄佈局Maven項目:如果把存根類Maven項目

. 
└── src  
    ├── main 
    │ └── ... 
    └── test 
      └── java 
       └── com.foo 
         ├── stubs 
         │ └── JsonSnippets.java 
         ├── bar 
         │ └── BarTest.java 
         └── ... further tests 

JsonSnippets類看起來是這樣的:

package com.foo.stubs; 

public class JsonSnippets { 

    public final static String SNIPPET_A = "{...}"; 

} 

BarTest類,我想使用JsonSnippets類,因此我有

package com.foo.bar; 

import com.foo.stubs.JsonSnippets; 

// ... 

@Test 
public void testWithJsonSnippets() { 
    String json = JsonSnippets.SNIPPET_A; 
    // ... 
} 

當我現在運行mvn test,我得到了以下錯誤消息:

cannot find symbol 
[ERROR] symbol: class JsonSnippets 
[ERROR] location: package com.foo.bar 

備註一切正常,當我把JsonSnippets類到src/main/...包/目錄。

+0

JSonSnippets類是公開的嗎? – uniknow

+0

是的 - 它被宣佈爲公開 - 我會將此添加到我的問題中,thx請求! –

+0

你還可以附加JsonSnippets類嗎? – uniknow

回答

0

問題是項目目錄中的Maven配置損壞。在我刪除所有與項目無關的緩存文件並從頭開始創建項目(具有完全相同的源代碼)之後,所有內容都按我的問題描述的那樣工作。

0

檢查您是否正確導入了JsonSnippet類。

檢查JsonSnippet類是否定義了公共構造函數。

+1

我猜'import com.foo.stubs.JsonSnippets;'是類的正確導入,我不需要一個只包含靜態成員的類的公共構造函數 - 對嗎? –