14

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

设置:

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

源代码控制: Mercurial

我使用的库示例:

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

如何将项目配置为对库的Build Path目录使用相同的“变量” ,指向不同机器上的不同位置,但仍将项目描述签入源代码管理,以便在添加新库时,只要我指定它相对于库库的位置在两台机器上都可以找到?

我找到了帮助文件,但可以使用一个示例,甚至可以使用屏幕截图吗?

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 > 构建路径 > 类路径变量”或其他地方?

我已经做了相当多的“盲目试验和错误”......就像在那里拼接像“$ {env:VAR}”这样的表格......

哦,我想我应该提一下,考虑到我的系统的环境变量是由 Bash 设置的,我不知道如何根据环境变量设置这些 Eclipse 变量,.profile而且我怀疑 Eclipse 之前运行了一个 shell 来获取它......

/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.my_libraries=$MY_SYS_ENV_VAR_LIBS

当然,我使用“配置构建路径 > 库 > 添加变量”,然后从那里扩展,但仍然......一个例子值得 1000 字Extend。包含在构建路径中的 jar 引用不能基于系统环境变量,句号?!)

PS:请不要让我只是符号链接周围的东西,我不是共享机器上的系统管理员..

4

1 回答 1

0

据我了解,扩展路径变量非常适合您的情况,因为您可以为每台机器定义不同的基本路径,并基于该路径在子路径上引用库。但是,如果您正在寻找专门使用环境变量,您可以尝试以这种方式将它们添加到构建路径中:

  1. 编辑您的启动配置。
  2. 转到类路径选项卡。
  3. 单击用户条目,然后单击高级按钮。
  4. 要添加基于系统环境变量的库,请选择Add Variable String,然后在框中键入: ${env_var:libs_base}/logging/slf4j.jar。在这种情况下 libs_base,是您的环境变量,并且logging/slf4j.jar是子目录中 jar 的路径。
于 2012-12-23T08:00:01.460 回答