我开始了一个小的
概念证明
使我们了解
Toothpick DI framework
使用现有的基于Goell的Java项目。我已经阅读了不少的声明,你可以使用Toothpick与Java(意思是JRE,OpenJDK,JDK或JSE -没有Android)…然而,我能够检查/处理的每个例子在某种程度上都依赖于android
configuration
.
最多的(
部分
迄今为止,成功的尝试是使用一个实验性的、丢弃的Android模拟包,使我的Java项目至少编译无误。也就是说,在解析任何应生成的依赖项时都会出现空白,例如:
-
生成
MemberInjectorRegistry
-
生成
FactoryRegistry
牙签示例项目本身和更简单的可用示例都使用android配置,并且通常不依赖于其他android细节。
更新2
我向
Toothpick sample
项目,一个Java项目
Tootpick wiki和示例项目使用Java编译选项:
compileJava {
options.annotationProcessorPath = configurations.annotationProcessor
options.compilerArgs = ['-Atoothpick_registry_package_name=experiments.toothpick',]
}
这给了我一个警告,结果发现Gradle和插件不匹配。我需要一个新的建筑
--refresh-dependencies
(
暗示
:确保编译了testspackages)。
在确定样本编译并通过单元测试之后。生成的文件位于
build/generated
我设法鼓励上网者
找到
他们用这个:
sourceSets {
generated {
java {
srcDirs = [ 'build/generated/source/apt/main' ];
}
}
}
遗憾的是,netbeans继续在生成的符号下面加上一点红线。至少它跑了。netbeans支持可能更好。
我先前的实验是看牙签
Smoothie
这是一个android的例子。作为一种智力练习有点有趣…
那
build.gradle
文件依赖于Android。所以我试着用模拟的方法替换掉丢失的部件。该项目正在编译,但找不到(
任何
)生成的代码。
我现在已经考虑到至少有一个成功的JavaJR/JDK牙签项目例子。
在那里
'.
更新一个
我决定从
另一端
并查看常见的Java注释处理实例。就我所知这是可行的,Gradle V
四点七
(我也认为是v4.6)。
在你的(子)项目中
build.gradle公司
…
plugins {
id "net.ltgt.apt" version "0.15"
}
:
dependencies {
annotationProcessor (
dep_toothpickCompiler
)
:
}
这个
dep_toothpickCompiler
先前定义为:
// Annotation Processor
dep_toothpickCompiler = "com.github.stephanenicolas.toothpick:toothpick-compiler:${ver_toothpick}"
结果
…
此步骤至少创建了
不幸的是,到目前为止还没有生成输出。我敢肯定,隧道尽头有灯光。如果/当我接近
解决方案
.
学习示例
(吉特枢纽)
我发现了一些“可靠”的牙签例子。到目前为止,他们希望在某个地方安装安卓系统。或者作为android的目标模块,或者使用相关的依赖项。
给定(或假设)纯Java/TopPoice项目可以在桌面上或命令行上构建、调试和运行;就我而言,它似乎不是一个受欢迎的选择。
谷歌搜索
去了。。。
——