pdx*_*_nr 5 java eclipse dagger
Dagger 1.2.2,Gradle 2.4,Eclipse 4.5.0 Mars on OSX 10.9.5.
在Eclipse中尝试运行JUnit测试失败:"请确保为此模块运行代码生成."
这是Eclipse中的Gradle项目,其版本如上所示.
JUnit测试从命令行成功运行("./gradlew clean test").
项目属性:Java编译器:注释处理显示:选中所有复选框.生成的代码转到.apt_generated.未指定处理器选项.
项目属性:Java编译器:注释处理:工厂路径显示:存在并检查dagger-compiler-1.2.2.jar,存在并检查javawriter-2.5.0,存在并检查dagger-1.2.2.jar.
org.eclipse.jst.ws.annotations.core存在但未检查(检查它和重建似乎没有任何区别).
"已检查"的罐子都是从我的〜/ .gradle/caches目录中获取的.
.apt_generated目录中没有任何内容(我收集生成的类文件应该出现在那里;我从未见过.)
思考?[编辑:添加缺失的单词"line"]
要从 gradle 脚本中自动解决此问题,并且对于多项目 gradle 项目中的所有项目,您可以这样做。
Run Code Online (Sandbox Code Playgroud)//generate eclipse .project, .classpath, .factorypath files //References: https://github.com/mkarneim/pojobuilder/wiki/Enabling-PojoBuilder-for-Eclipse-Using-Gradle apply plugin: 'eclipse' ext { eclipseAptFolder = '.apt_generated' eclipseSettingsDir = file('.settings') } configurations { codeGeneration } dependencies { codeGeneration 'com.squareup.dagger:dagger-compiler:1.2.2' compile 'com.squareup.dagger:dagger:1.2.2' } compileJava.classpath += configurations.codeGeneration eclipse { jdt.file.withProperties { it['org.eclipse.jdt.core.compiler.processAnnotations'] = 'enabled' } } tasks.eclipseJdt { doFirst { def aptPrefs = file("${eclipseSettingsDir}/org.eclipse.jdt.apt.core.prefs") aptPrefs.parentFile.mkdirs() aptPrefs.text = """\ eclipse.preferences.version=1 org.eclipse.jdt.apt.aptEnabled=true org.eclipse.jdt.apt.genSrcDir=${eclipseAptFolder} org.eclipse.jdt.apt.reconcileEnabled=true """.stripIndent() file('.factorypath').withWriter { new groovy.xml.MarkupBuilder(it).'factorypath' { project.configurations.codeGeneration.each { dep-> factorypathentry( kind:'EXTJAR', id:dep.absolutePath, enabled:true, runInBatchMode:false ) } } } } }
Run Code Online (Sandbox Code Playgroud)allprojects { apply plugin: 'java' apply from: rootProject.projectDir.toString() + '/eclipse.gradle' }
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |