2013-04-02 41 views
12

我在日食中有一个运行配置。在我的项目中,我们有两个分支:DEV和STABLE。 我想创建一个运行配置来构建我的项目,无论它在哪个分支上。如何使用Eclipse创建通用启动配置?

现在,当我设置Base directory与这两个变量之一:${project_path}${build_project},我面对这样的错误:

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

这个作品:${workspace_loc:/my-project-dev-branch}但是绑定到一个特定的分支。我必须复制这个配置来建立稳定的分支。

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

回答

15

我不知道我按照你的分支是如何在工作区中表示,但

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

根据您的描述,您希望使用${project_loc}来代替。

注意:在启动运行配置之前,必须在透视项目中选择项目。否则,你会得到一个消息,像下面的截图:

picture of Alert box popup with the text 'Launching MY RUN CONFIGURATION' has encountered a problem. Variable references empty selection: ${project_loc}'

+0

分支机构位于不同的项目中。我试过'$ {project_loc}/$ {build_project}'没有成功。 – Stephan

+0

我也使用'$ project_loc'来进行类似的运行配置。有一个提示:只有在Navigator或Package Explorer视图中选择了适当的项目,才能启动这些配置。换句话说:首先 - 选择项目,然后运行配置。 – DRCB

+0

@Stephan - 只需使用'$ project_loc',它将为您提供包含正在执行的资源的项目的完整位置。 – Perception

0

首先,如果你使用Git版本控制系统:不检出该项目两次,但在分支之间只需切换单个项目。 Git是为此设计的,可以在几秒钟内完成。这样你的问题就完全消失了。

如果这不是一个选项,也许把运行配置放在版本控制下本身就是一种选择。设置共享文件选项,如图所示与第一大亮点: enter image description here

然后你就可以在各自的项目中选择运行运行配置(因为这是一个真正的文件存在),并通过上下文菜单中启动它。不过,我从来没有试过这个,同样的启动配置检出两次。

+0

你在“Base directory”字段中输入了什么内容? – Stephan

2

因为你已经创建String Substitution变量,通过运行调试 - >字符串替换在Eclipse首选项,以应对不同的路径,你既可以:

  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_loc}将通过查看位置来解决什么问题,可以看到${project_path}将解决什么问题。

+0

$ {branch}如何填充? – Stephan

+0

也可以通过字符串替换首选项将分行名称与其位置分开。 – WhiteKnight

+0

你在哪里创建变量'branch_loc'? – Stephan