我正在IntelliJ IDEA中从事一个Scala项目,并使用Gradle进行配置和依赖关系管理。
每次我添加一些新的依赖项并将其同步到IDEA中时,它都会将附加的编译器选项重写到-target:jvm-1.8
中,当我试图使用IDEA创建它时,会导致一个错误:
Error:scalac: 'jvm-1.8' is not a valid choice for '-target'
Error:scalac: bad option: '-target:jvm-1.8'
所以我需要手动修复。
我是否可以在build.gradle中设置目标JVM版本或编译器参数(还需要-feature
选项),以便从那里获取这些参数?
谢谢!
您可以将sourcecompatibility='1.7'
添加到分级生成文件中,然后刷新,项目将正常生成。请注意,这样您的代码中就不能包含Java8源代码,这是暂时的攻击,直到gradleware
或jetbrains
解决了这个问题。
您还可以篡改在运行gradle IDEA
时生成的IDEA项目XML。这将使您可以选择包括其他标志。您可以通过打开项目.iml
文件并确定需要更改的内容来检查当前的xml,然后使用以下代码:
apply plugin: 'idea'
idea {
module {
iml {
withXml {
def node = it.asNode()
//modify xml
}
}
}
}
但是我不推荐它,因为您必须坚持使用gradle IDEA
,并且无法直接从IDEA正确导入,但是目前没有更好的方法来添加其他标志。文档-idea插件和idea模块
问题内容: 我有一个文件和。 当我进行调试构建时,我得到: 如何将添加到基础任务?关于Java编译选项的Gradle插件用户指南无济于事。 问题答案: 我根据有关操作任务的Gradle插件用户指南和有关JavaCompile的Gradle DSL文档 找到了以下解决方案: 添加到: 应用程序变体在Gradle的配置阶段,所需的任务也不存在,因此我在执行阶段进行了修改。
我有一个与jacoco的项目,我希望能够过滤某些类和/或包。 我阅读了以下文档: 使用Sonarrunner和Gradle(不使用sonar)从Jacoco报告中排除包 Jacoco-从报表中排除JSP(它似乎适用于maven,我使用的是gradle) Maven Jacoco配置-从不工作的报告中排除类/包(这似乎适用于Maven,我使用的是gradle)
我正在使用IntelliJ IDEA 2019.1。1.默认情况下,Builds现在委托给gradle。在很大程度上,我喜欢这个想法,但对于我的一个项目来说,这个格拉德尔的代表团似乎造成了一个构建问题。我在构建输出中看到了这一点: 看起来IntelliJ正在选择从我的构建中自动运行这些任务。格拉德尔。问题是这样运行任务“:stepsapi:querydslClasses”总是会导致编译错误。在--
是否有可能拥有一个Scala Maven项目,并在Scala类中编译时编织AspectJ方面? 我已经能够使加载时编织工作,但到目前为止没有成功的编译时。
问题内容: 我有以下代码: 我想用新内容替换文件中的旧内容。但是,当我执行代码时,将附加文件“ test.xml”,即,我的旧内容被新的“替换”内容所取代。为了删除旧内容而只保留新内容,我该怎么办? 问题答案: 您需要先写入文件的开头,然后再使用(如果要进行就地替换): 另一种方法是读取文件,然后使用再次打开它: 无论是也将改变inode的文件的数量(我测试过两次,一次是与Ubuntu 12.04