2017-07-02 32 views
0

我已經在eclipse開普勒通過Buildship搖籃集成導入項目JCPABE(https://github.com/TU-Berlin-SNET/JCPABE)在Windows 10爲什麼依賴性在Eclipse的gradle開普勒導入後失蹤

現在,許多包告訴我similiar錯誤,有關5-10不存在的類看起來像它們都屬於包cpabe.policyparser。 這個包存在,但似乎缺乏某些java類。

看起來好像他們正確地在gradle.build中聲明,例如,

compileJavacc { 
    inputDirectory = compileJjtree.outputDirectory 
    outputDirectory = file('generated/javacc/cpabe/policyparser') 
} 

但我無法找到他們在我的項目或項目或工作區文件夾。 我如何包含它們?

缺少類例如

Node 
ParseException 
ASTStart 
TokenMgrError 
ParseTree 
+0

看來這些類必須由JavaCC的(見https://github.com/TU-Berlin-SNET/JCPABE/blob/master/build.gradle#L28)產生。執行gradle構建,並將包含生成的類的目錄添加到源路徑或類路徑(取決於任務是否生成源文件或類文件)。 –

+0

嗨,我已經試過了,但仍然是同樣的問題。控制檯還會記錄此錯誤: 文件「Node.java」不存在。將創建一個。 文件「SimpleNode.java」不存在。將創建一個。 文件「ASTStart.java」不存在。將創建一個。 文件「ASTExpression.java」不存在。將創建一個。 這些在我的代碼中顯示爲缺少的那些 –

+0

那麼,在生成這些文件後你做了什麼?您是否將生成文件的包根文件夾添加爲您的eclipse項目的源路徑? –

回答

0

有我相信2種方式來刷新你的IDE類路徑。

還沒有理想的是嘗試使用您正在使用的搖籃整合,我相信它的Buildship(不知道我用的IntelliJ)插件

另一種解決方案得到這個工作沒有任何IDE插件刷新項目到你的build.gradle中的apply plugin: eclipse,然後運行gradle eclipse任務來重新生成類路徑。

您也可能希望將生成的文件夾添加到腳本中的sourceSets{}

sourceSets.main { 
     java { 
      srcDirs = [ 
        "$projectDir/src/main/java", 
        "$projectDir/<path_to_your_generated_dir>", 
      ] 
      include '**/*.java' 
     } 
}