我尝试使用 Gradle 在 Java 9 中开发一个小例子。但我没有找到制作工作运行配置的确切选项。我试图从这个小教程中复制正确的部分。但是 run 任务只是得到一个错误
java.lang.module.FindException:未找到模块 de.project.crawler
显然,我给 Gradle 的模块路径有误,但我不知道如何解决这个问题。
我的工作目录
project/
crawler/
| src/
| | main/
| | | java/
| | | | de.project.crawler/
| | | | | Main.java
| | module-info.java
| build.gradle
| settings.gradle
build.gradle
settings.gradle
Run Code Online (Sandbox Code Playgroud)
构建.gradle:
subprojects {
afterEvaluate {
compileJava {
inputs.property("moduleName", moduleName)
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
]
classpath = files()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
爬虫/build.gradle:
plugins {
id 'java-library'
id 'application'
}
ext.moduleName …
Run Code Online (Sandbox Code Playgroud) 我尝试将转换的boost ::阵列rightCamInfo.K到OpenCV的垫CV ::垫ķ.我没有为此设置找到任何函数,所以我写了一个迭代方法:
float tempK[9];
cv::Mat K;
for (int i = 0; i < 9; i++) {
tempK[i] = rightCamInfo.K[i];
}
K = cv::Mat(3, 3, CV_64F, &tempK);
Run Code Online (Sandbox Code Playgroud)
但这给了我奇怪的结果.给定数据的范围在400和0之间,结果矩阵大约为5*10 ^( - 315).显然有一些转换错误.怎么了?我是否为矩阵选择了错误的类型,或者这种数组类型是否合适?
我想以编程方式将小占位符替换为静态内容,如用户名或工作路径.
在bash中是否有可能动态执行我的perl替换状态,如:
GROUPNAME="$(id -g -n $USER)"
perl -pi -e 's/\(PLACEHOLDER\)/' + "$GROUPNAME" + '/g' filepath/file
Run Code Online (Sandbox Code Playgroud)
如果我还能为占位符调整这种动态行为,那将是非常好的.但首先要做的事情.如何连接这些字符串?