2014-02-14 135 views
0

我的Web应用程序使用两个项目构建,其中一个包含api和第二个Web部件。在Eclipse中我能够在项目的Web部署中使用。然而从类项目的API我有例外:Gradle多个项目构建ClassNotFound部署

Caused by: java.lang.ClassNotFoundException: project.api.TestApi 

这是我的主要的build.gradle文件:

sourceCompatibility = 1.7 

subprojects { 
    apply plugin: 'java' 
} 

这是构建。从gradle这个API:

apply plugin: 'java' 
apply plugin: 'eclipse' 

repositories { 
    mavenCentral() 
} 

dependencies { 

} 

这是从网上我的build.gradle的一部分:

dependencies { 
    compile project(':project-api') 
... 
} 

如果我去看web应用程序库,我看不到任何像project-api.jar。我是否做错了? 更新: 它仅在eclipse中发布。如果我运行gradlew war并手动部署到tomcat,我可以在没有任何发布的情况下部署它。 project-api.jar包含在战争中。我试过已经跑了几次

`gradlew clean cleanEclipse eclipse` 

但它没有帮助。我也尝试在eclipse中重新导入项目,但仍然是一样的。编辑: 编辑: 这个项目是一个春天mvc应用程序,我刚刚发现,当我从gradle构建战争时,我能够手动部署战争而没有任何错误。问题仅在通过eclipse进行部署时才会发生。 编辑:这里是settings.gradle

rootProject.name = 'project' 
include 'project-test' 
include 'project-web' 
include 'project-api' 
+0

我不知道android是否可以做1.7(几个月前,当我尝试)。你把它改为1.6? – Ethan

+0

我刚更新了帖子。我没有足够的具体问题。我的错。 – John

+0

你可以发布settings.gradle吗? – Ethan

回答

0

您需要将部署项目的依赖转变为“多面工程”。

项目属性 - >项目Facet - >转换为有刻面的形式...

然后标记每个依赖性为“实用程序模块”。

相关问题