我在projectRoot/buildSrc中有任务
package myapp.gradle;
import myapp.Utils;
import myapp.GoodRecord;
import myapp.GoodRecordFactory;
import org.apache.commons.io.FileUtils;
import org.gradle.api.DefaultTask;
import org.gradle.api.tasks.TaskAction;
import java.io.File;
import java.io.IOException;
public class SoqTask extends DefaultTask {
private File saveToDir;
public void setSaveToDir(File saveToDir) {
this.saveToDir = saveToDir;
}
@TaskAction
public void run() {
try {
GoodRecord instance = GoodRecordFactory.instance();
byte[] serialize = Utils.serialize(instance);
FileUtils.writeByteArrayToFile(new File(saveToDir, "goodrecord.bin"), serialize);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
字符串
但是SoqTask不能访问必要的导入类。
如何使用项目代码创建文件,然后将其构建在一个jar中?
1条答案
按热度按时间btqmn9zl1#
最后,我发现解决方案只使用反射
字符串
在Gradle中使用:
型