【问题标题】:sbt task configurations are lost after update to a new IntelliJ IDEA version更新到新的 IntelliJ IDEA 版本后,sbt 任务配置丢失
【发布时间】:2020-04-14 23:54:08
【问题描述】:
我的 IntelliJ IDEA 2019.3 中有一个保存的 sbt 任务配置列表。在 IDE 窗口的右上角看起来像这样:
但是,当我升级到 IntelliJ IDEA 2020.1 时,ide 无法识别这些任务,我的列表变成了这样:
这些“未知”条目中没有一个运行任务。它甚至没有打开对话窗口来修复配置。
如何正确地将我的 sbt 任务移植到新的 IntelliJ IDEA 版本中,以免它们丢失?
【问题讨论】:
标签:
intellij-idea
configuration
sbt
upgrade
【解决方案1】:
IntelliJ IDEA 将每个项目的任务存储在该项目根文件夹的 .idea/runConfigurations 子文件夹中。
每个保存的任务在该子文件夹中都有自己的.xml 文件。例如___clean__compile_.xml:
<component name="ProjectRunConfigurationManager">
<configuration default="false" name=""; clean; compile"" type="SbtRunConfiguration" factoryName="SBT Task" show_console_on_std_err="false" show_console_on_std_out="false">
<option name="allowRunningInParallel" value="false" />
<option name="tasks" value=""; clean; compile"" />
<option name="useSbtShell" value="false" />
<option name="vmparams" value="-Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled" />
<option name="workingDir" value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
</component>
注意configuration 节点的factoryName 属性:factoryName="SBT Task"。
在 IntelliJ 2019 中,sbt 任务的 factoryName 是 "sbt Task"。在 2020.1 版本中,它更改为 "SBT Task"(“sbt”部分变为大写)。
要修复已保存的任务,请浏览您的 .idea/runConfigurations/ 文件夹中的文件并将每个文件中的 factoryName 更改为 "SBT Task"。
然后重新启动您的 IntelliJ 项目,您应该会看到您的 sbt 任务再次运行。