7

在 Eclipse 中,您可以设置 -D 选项以包含在 IDE 设置中其他地方定义的 {} 变量。IntelliJ 似乎会通过Path Variables提供此功能。但是,如果您遵循他们的帮助文档,您应该能够在 $dollar_characters$ 之间引用这些变量。进一步的研究似乎表明这仅适用于项目文件的内部,并且替换是在构建期间完成的。

我正在尝试创建一个共享服务器配置,其中一些系统属性可以由其他开发人员换出,但这个让我很难过。

4

4 回答 4

9

您可以直接在 Tomcat 服务器运行/调试配置窗口中设置您的 VM 选项,方法是将其添加到 VM 选项输入字段。您可以直接将您的-Dcustom_property=value放入该字段,然后通过System.getProperty("customer_property").

于 2014-08-27T01:04:00.040 回答
8

在对看似无关的问题进行了大量挖掘和研究之后,我开始对如何实现这一点有了更大的了解:

  1. 根据需要设置路径变量
  2. 创建您打算共享的运行配置并选中共享复选框。
  3. 将存根(即-Dsystem.property="variable here")放入配置的VM 选项字段中。
  4. 在中找到您的配置.idea/runConfigurations并将存根替换为$PATH_VARIABLE$,如果值将包含空格,则将它们放在引号内。
  5. 重新打开Run Configuration的Edit Configuration屏幕,注意变量扩展已成功。更好的是,检查它并让同事检查它(在设置他们自己的路径变量之后)并注意变量扩展适用于他们的自定义值。

注意:您似乎应该能够将它们$PATH_VARIABLES$直接放入那些配置屏幕,但它似乎只有在您直接编辑 XML 文件时才有效。

于 2013-03-14T16:36:01.177 回答
2

Joel Wilson,感谢您探索在 IntelliJ 配置中使用 $PATH_VARIABLES$。

美化你的发现;我发现如果文件系统中的配置文件发生更改,它会立即由​​ IJ 重新加载($PATH_VARIABLES$ 得到扩展)。但是,如果您在 IJ Preferences 中进行更改,则不会。

但是如果你:触摸 ~/IntelliJ/yourProject/.idea/runConfigurations *.xml

这足以让您的配置重新加载。
我还发现,如果您关闭并重新打开 IJ,这些也会在那时自动展开。

如果您查看这些 .xml 文件,则不会存储扩展值。每次加载 IJ 或更改文件时都会发生扩展。

最重要的是,如果您想在存储库中共享通用配置 - 然后在 IJ PATH 变量中设置用户变量内容 - 您可以并且它们将自动扩展。

如果您碰巧更改了 PATH 变量,则新值将包含修改后的 PATH_VARIABLE 内容。

如果您要查看操作系统级别的文件,您会看到保留的变量。但是如果您查看配置编辑器,替换的值将始终显示在那里(因此您无法直接看到它们使用了变量)。最好查看操作系统文件。吉姆

于 2015-12-18T16:17:05.673 回答
0

它似乎有效 - 至少在 ItelliJ 2018.2 中有效:

  1. 例如使用$PROJECT_DIR$- 变量
  2. 项目重新加载后扩展值
  3. 即使在编辑和保存配置之后...
  4. 该变量仍在配置中使用
于 2018-11-21T07:36:21.977 回答