在Eclipse中,您可以设置-D选项以包含在IDE设置中其他地方定义的{}变量。IntelliJ似乎通过路径变量提供了这个特性。但是,如果您遵循它们的帮助文档,您应该能够在$dollar_characters$之间引用这些变量。进一步的研究似乎表明,这只适用于项目文件的内部,并且替换是在构建时完成的。
我正在尝试创建一个共享服务器配置,其中几个系统属性可以被其他开发人员交换出来,但这一个让我难住了。
您可以直接在Tomcat Server运行/调试配置窗口中通过将其添加到VM options输入字段来设置虚拟机选项。您可以直接将-Dcustom_property=value
放入该字段,然后通过System.getProperty("customer_property")
访问它。
在对看似不相关的问题进行了大量的挖掘和研究之后,我开始对如何实现这一目标有了更大的了解:
- 根据需要设置路径变量
- 创建您想要共享的运行配置并选中共享复选框。
- 在VM options字段中输入存根(即
-Dsystem.property="variable here"
)。 - 在
.idea/runConfigurations
中找到您的配置,并用$PATH_VARIABLE$
替换存根,如果值包含空格,则将它们放在引号内。 - 为Run Configuration重新打开Edit Configuration屏幕,注意变量扩展已经成功。更好的是,签入并让同事检查它(在设置他们自己的路径变量之后),并注意变量扩展与他们的自定义值一起工作。
注意:它可能看起来像你应该能够把那些$PATH_VARIABLES$
直接进入那些配置屏幕,但它似乎只工作,如果你已经编辑了XML文件直接
Joel Wilson,感谢您在IntelliJ配置中使用$PATH_VARIABLES$的探索。
修饰一下你的发现;我发现,如果一个配置文件在文件系统中发生了变化,那么它就会被IJ重新加载($PATH_VARIABLES$得到扩展)。但是,如果您在IJ Preferences中进行更改,则不会。
但是如果你:触摸~/IntelliJ/yourProject/。想法/runConfigurations * . xml
这足以让你重新加载配置。
我还发现,如果你关闭并重新打开IJ,这些也会在那个时候自动展开。
如果你看那些。xml文件,扩展后的值不会被存储。每次加载IJ或更改文件时都会进行扩展。
底线,如果你想在一个repo中共享公共配置——然后在IJ PATH变量中设置用户变量——你可以,它们将被自动展开。
如果碰巧更改了PATH变量,则新值将包含修改后的PATH_VARIABLE内容。
如果您要在操作系统级别查看文件,您将看到保留的变量。但是如果您查看Configuration编辑器,替换的值将始终显示在那里(因此您不能直接看到它们使用了变量)。最好查看一下操作系统文件。吉姆
这似乎可以工作-至少与ItelliJ 2018.2:
- 。使用
$PROJECT_DIR$
变量 - 重新加载项目后展开的值
- 即使在编辑和保存配置之后…
- 该变量仍然在配置 中使用