2014-12-05 17 views
0

在我的gradle.properties文件中,classesDir被設置爲/ WEB-INF/classes。但由於某些原因,只有編譯的* .class文件被複制到那裏,省略了位於java文件旁邊的* .hbm.xml文件(位於com.project.model子文件夾中)。Gradle compileJava任務跳過Hibernate映射文件

因此,由於映射文件丟失,應用程序服務器(Tomcat 8)無法正常啓動。我的配置有什麼問題?

謝謝, Vitaliy。

+0

'build_dir'不是標準的Gradle屬性,所以你必須解釋你的構建如何使用該屬性。另外,你必須解釋'* .hbm.xml'源文件的位置。 – 2014-12-05 16:03:31

+0

我修改了原文。抱歉混淆。 – siphiuel 2014-12-05 16:20:37

+1

資源文件應該放在一個單獨的源目錄中(默認爲'src/main/resources')。將它們與Java源混合在一起時更難以實現。另外,資源處理與'compileJava'任務無關。 – 2014-12-05 16:39:05

回答

1

UPDATE:

我添加了一個單獨的任務makeJava複製的映射文件,然後用它作爲一個依賴於compileJava,像這樣:

task copyHbm(type: Copy) { 
    from 'src/com/project/model' 
    into classesDir + '/com/project/model/' 
    include '**/*.hbm.xml' 
} 

task makeJava(dependsOn: [compileJava, copyHbm]) 
copyHbm.mustRunAfter compileJava 

感謝您的幫助!