Eclipse Foundation命令行导入引发错误

时间:2019-12-20 20:06:52

标签: cmd eclipse-cdt

我正在尝试在开发过程中自动化一些东西。我发现自己不断使用来自存储库的项目生成新的工作区,并将其导入到Eclipse中。

我可以使用SVN和Maven正确导入和构建项目。但是我必须手动将项目导入Eclipse。我尝试编写一个基于参数导入的批处理文件,但在控制台中始终出现此错误:

org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized. Will retry after the state location is initialized.

当日食引发此错误时:

The folder "path\to\workspace" -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import path\to\project\.metadata" is read-only`

我使用的命令是

call path\to\eclipse\eclipsec.exe --launcher.suppressErrors -nosplash -data "path\to\workspace\" -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import path\to\project

我使用的日食是Eclipse Foundation 2019/12,JDK 1.8。我也正在使用此插件https://github.com/seeq12/eclipse-import-projects-plugin来解决问题,但是由于某种原因,我不知道它会失败。

该如何解决?还有其他选择吗?我真的只想使用批处理文件。

谢谢。

1 个答案:

答案 0 :(得分:0)

让我们仔细看看命令行的这一部分:

[...] -data "path\to\workspace\" -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import path\to\project

反斜杠通常被视为转义字符。在这种情况下,我怀疑它转义了后续的引号字符,导致将其视为出现在工作空间路径中的文字引号字符,而不是终止工作空间路径参数。由于工作空间路径参数以引号开头,因此所有后续参数都被解释为工作空间路径的一部分,因此Eclipse认为完整的工作空间路径为:

path\to\workspace\" -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import path\to\project

显然不存在。

加反斜杠可能会解决该问题:

call path\\to\\eclipse\\eclipsec.exe --launcher.suppressErrors -nosplash -data "path\\to\\workspace\\" -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import path\\to\\project

现在,对于每对\\,第一个反斜杠都会跳过第二个反斜杠,从而产生一个字面反斜杠,这正是您想要的。

欢迎使用Windows编程,它选择了世界其他地方选择的字符作为其路径分隔符:)