Gradle构建WAR文件报错:ajc.options文件不存在求助
解决Gradle构建WAR时ajc.options不存在与编码相关报错
问题分析
从报错信息看,核心问题有两个:一是项目路径出现乱码导致ajc.options文件找不到,二是编译器未识别到待编译的Java源文件。
解决方案
修复路径编码问题
报错路径中的乱码(C:\Users\weihsiang\Documents\�摰喲�\backend_api)是因为项目所在目录包含中文,Gradle和AJC编译器对非ASCII路径的编码兼容存在问题。直接将项目迁移到纯英文路径下,比如C:\Users\weihsiang\Documents\HazardAssessment\backend_api,避免中文、特殊字符出现在路径中。校准ajc.options文件配置
虽然项目中存在ajc.options,但Gradle在临时构建目录找不到该文件,需确认配置路径:- 检查ajc.options的实际存放位置,比如
app/src/main/resources或项目根目录; - 在
build.gradle中明确指定该文件路径,示例配置:tasks.withType(JavaCompile) { options.compilerArgs += ['-config', file('src/main/resources/ajc.options').absolutePath] } - 确保AspectJ插件已正确引入,比如添加Freefair AspectJ插件:
plugins { id 'java' id 'war' id 'io.freefair.aspectj' version '6.6.3' }
- 检查ajc.options的实际存放位置,比如
解决源文件未识别问题
“no sources specified”报错说明Gradle未找到待编译的Java文件:- 确认源文件在标准路径
src/main/java下,若自定义路径,需在build.gradle中配置:sourceSets { main { java { srcDirs = ['src/custom/java'] } } } - 执行
gradle clean清理构建缓存,再重新运行gradle war。
- 确认源文件在标准路径
内容的提问来源于stack exchange,提问作者swaeetpotato
相关产品推荐
相关产品推荐

