使用变量的Eclipse Java项目构建路径

14

我正在开发一个Eclipse Java项目,希望使用“变量”来指向所需的库(.jar文件)。

设置:

  • 机器1:Eclipse Juno,OS X,自己的笔记本电脑,在/mylibs下的库
  • 机器2:Eclipse Juno,Linux,共享机器,在/sharedlibs/some/complex/path下的库

源代码控制:Mercurial

我使用的库的示例:

  • "${libs_base}/junit.jar"
  • "${libs_base}/guava.jar"
  • "${libs_base}/logging/slf4j.jar"

如何配置项目的“构建路径”以使用相同的“变量”用于库的base目录,在不同的机器上指向不同的位置,但仍将我的项目描述检入源代码控制,这样当我添加一个新库时,只要我指定它相对于libs base的位置,它就可以在两台计算机上找到?

我已经找到了帮助文件,但还需要一个示例,甚至是屏幕截图吗?

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcpathvars.htm

例如,我是否要复制此模型:

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fconcepts-exttools.htm

放在“Java > Build Path > Classpath Variables”里还是其他地方?

我已经进行了相当多的“盲目试错”,像在那里缝合"${env:VAR}"表格一样。。

噢,我想我应该提一下,我不知道如何基于环境变量设置这些Eclipse变量,考虑到我的系统环境变量是由Bash的.profile设置的,我怀疑Eclipse在之前运行外壳来进行源代码控制...

/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.my_libraries=$MY_SYS_ENV_VAR_LIBS
当然,我使用“配置构建路径>库>添加变量”,然后从那里扩展,但是......一个例子胜过千言万语...(难道说定义一个Eclipse变量,从中可以Extend实际的.jar引用以包含在构建路径中,只能基于系统环境变量吗?!)
附注:请不要让我在共享机器上简单地创建符号链接,因为我不是系统管理员。
1个回答

0

根据我所了解的,扩展路径变量会非常适合您的情况,因为您可以为每台机器定义不同的基础路径,并根据该路径引用子路径上的库。然而,如果您特别想使用环境变量,可以尝试按以下方式将它们添加到构建路径中:

  1. 编辑启动配置。
  2. 转到类路径选项卡。
  3. 单击用户项目并单击高级按钮。
  4. 要添加基于系统环境变量的库,请选择添加变量字符串,在框中输入: ${env_var:libs_base}/logging/slf4j.jar。在这种情况下, libs_base是您的环境变量,logging/slf4j.jar是 子目录中jar包的路径。

3
那不是构建路径,那是启动配置文件的类路径。 - Rhubarb
1
@Rhubarb 确实如此,但流程是相同的:一旦您添加了路径变量,您可以使用“添加变量...”选项中的“扩展”按钮来引用它。 - Matthieu

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