如何使用Eclipse创建通用启动配置?

16

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

目前,当我用这两个变量之一设置基本目录: ${project_path}, ${build_project}, 我会遇到以下错误:

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

这个可以工作:${workspace_loc:/my-project-dev-branch},但是与特定的分支绑定。我必须复制此配置以构建稳定的分支。

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

19

我不确定您的分支在工作区中是如何表示的,但是:

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

根据您的描述,您应该改用${project_loc}

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

Alert box弹出框图片,上面的文本为'Launching MY RUN CONFIGURATION' has encountered a problem.  Variable references empty selection: ${project_loc}


1
我也使用 $project_loc 来进行类似的运行配置。需要注意的是:只有在导航器或包资源管理器视图中选择了相应的项目后,才能启动这样的配置。换句话说,先选择项目,然后再运行配置。 - DRCB
@Stephan - 只需使用 $project_loc,它将为您提供包含您正在执行的资源的项目的完整位置。 - Perception
@DRCB ${project_loc},我仍然得到相同的错误。这个也不起作用:${workspace_loc:/${eclipse_variable_with_project_name}} - Stephan
@Perception $project_loc 还没有成功:\ 我忘记提到运行配置是来自m2e插件的Maven Build。 - Stephan
@Perception 抱歉,我所在的地方聊天被阻止了:\ - Stephan
显示剩余5条评论

3

由于您已经通过在Eclipse首选项中运行调试 ->字符串替换来创建一个String Substitution变量,以处理单独的路径,您可以选择:

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

然后将${branch_loc}用作Maven基目录。

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

如果右键单击项目,然后选择属性,您可以通过查看路径来查看${project_path}将解析为什么,通过查看位置来查看${project_loc}将解析为什么。


${branch} 是如何填充的? - Stephan
通过字符串替换首选项,也可以将分支名称与其位置分开。 - WhiteKnight
你在哪里创建变量 branch_loc - Stephan
1
我已经更新了我的答案,明确说明在Eclipse首选项中通过Run Debug->String Substitution可以访问字符串替换偏好设置,但您也可以按照我的答案中的链接访问有关字符串替换偏好设置的文档。 - WhiteKnight
感谢您的输入;) - Stephan

1
首先,如果您正在使用git作为版本控制系统:不要两次检出项目,而只需在单个项目中切换分支。Git就是为此而设计的,并且可以在几秒钟内完成。这样您的问题将完全消失。
如果这不是一个选项,也许将运行配置文件本身放入版本控制中可能是一种替代方案。如第一个亮点所示,设置共享文件选项: enter image description here 然后,您可以通过选择相应的项目(因为那里真的有一个文件),并通过上下文菜单启动它来运行运行配置。但是,我从未尝试过将同一个启动配置文件检出两次。

你会在 基本目录 字段中输入什么? - Stephan

1
你可以按照以下方式设置基础目录:
${project_loc:${project_name}}

你可以从变量选项中找到上述变量。
同时,你可以像以下示例那样在目标中设置你的mvn命令:
clean install -PautoInstallPackage -Padobe-public -DskipTests

使用这个解决方案,是否仍然需要在启动运行配置之前先在其透视图中选择项目? - Stephan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接