16

我的 Eclipse 中有一个运行配置。在我的项目中,我们有两个分支:DEV 和 STABLE。我想创建一个运行配置来构建我的项目,无论它位于哪个分支。

现在,当我Base directory使用这两个变量之一进行设置时:${project_path},,${build_project}我面临这个错误:

基本目录不存在或无法读取。

这有效:${workspace_loc:/my-project-dev-branch}但与特定分支相关联。我必须复制这个配置来构建稳定的分支。

  • 那么,如何查看 , 的实际内容${project_path}${build_project}
  • 或者我应该使用哪个变量来获得这个结果: ${workspace_loc:/${eclipse_variable_with_project_name}}
4

4 回答 4

19

我不确定我是否遵循您的分支在工作区中的表示方式,但是

  • ${project_path}表示相对于您的工作空间的路径
  • ${build_project}只会在实际构建期间设置(而不是在程序执行期间)

根据您想要使用的描述${project_loc}

注意:在启动运行配置之前,必须在透视项目中选择项目。否则,您将收到如下截图所示的消息:

带有文本“Launching MY RUN CONFIGURATION”的警报框弹出图片遇到了问题。 变量引用空选择:${project_loc}'

于 2013-04-02T11:35:24.840 回答
3

由于您已经通过 Eclipse Preferences 中的 Run Debug->String Substitution 创建了一个String Substitution变量来处理单独的路径,您可以:

  1. 创建一个变量,例如branch_loc,其值为${workspace_loc:/my-project-dev-branch}
  2. 如果路径仅略有不同,例如分支名称,那么您可以创建一个branch具有值的变量,例如dev,然后branch_loc使用${workspace_loc}\${branch}

然后${branch_loc}为您使用 Maven 基本目录。

最好让所有分支都使用相同的路径,git 和 mercurial 允许您这样做。然后你可以使用${project_loc}你的 Maven 基础目录。因为project_loc如果您指定项目的项目名称,例如${project_loc:MY_PROJECT_NAME},则不需要您选择项目即可工作。

如果您右键单击该项目,然后选择“属性”,您可以${project_path}通过查看路径查看将解析的内容以及${project_loc}查看位置将解析的内容。

于 2016-01-19T12:32:20.283 回答
1

首先,如果你使用 git 作为版本控制系统:不要两次 checkout 项目,而只是在单个项目中的分支之间切换。Git 就是为此而设计的,它可以在几秒钟内完成。这样你的问题就会完全消失。

如果这不是一个选项,也许将运行配置置于版本控制之下是一种替代方法。设置共享文件选项,如第一个突出显示所示: 在此处输入图像描述

然后,您可以通过在相应项目中选择它来运行运行配置(因为那实际上是一个文件)并通过上下文菜单启动它。但是,我从未尝试过两次检查相同的启动配置。

于 2013-04-02T20:34:18.137 回答
1

您可以通过以下方式设置基本目录:

${project_loc:${project_name}}

您可以从 variables 选项中找到上述变量。

您也可以在目标中设置 mvn 命令,如下例所示:

clean install -PautoInstallPackage -Padobe-public -DskipTests
于 2020-07-15T06:11:19.757 回答