使用IntelliJ路径变量,如何在Tomcat服务器运行配置中设置系统属性



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

我正在尝试创建一个共享服务器配置,其中几个系统属性可以被其他开发人员交换出来,但这一个让我难住了。

您可以直接在Tomcat Server运行/调试配置窗口中通过将其添加到VM options输入字段来设置虚拟机选项。您可以直接将-Dcustom_property=value放入该字段,然后通过System.getProperty("customer_property")访问它。

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

  1. 根据需要设置路径变量
  2. 创建您想要共享的运行配置并选中共享复选框。
  3. VM options字段中输入存根(即-Dsystem.property="variable here")。
  4. .idea/runConfigurations中找到您的配置,并用$PATH_VARIABLE$替换存根,如果值包含空格,则将它们放在引号内。
  5. 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:

  1. 。使用$PROJECT_DIR$变量
  2. 重新加载项目后展开的值
  3. 即使在编辑和保存配置之后…
  4. 该变量仍然在配置
  5. 中使用

最新更新