【问题标题】:How to set variables for local/server side on Java maven project如何在 Java maven 项目上为本地/服务器端设置变量
【发布时间】:2018-02-23 19:39:38
【问题描述】:

能否请您帮助如何设置我的 java 程序中使用的变量,不用担心,因为当前我必须在 windows 机器上本地运行我的代码。

所以我正在阅读的整个文件都在 windows d:// 目录中,请考虑从 windows D 驱动器的不同位置读取和写入更多文件。 根据我的业务逻辑。

我在 CentOS 服务器端使用的目录结构相同。但问题是在 CentOS 目录中以 /home/dir1/ 等开头,所以谁来让这个东西工作。 就像每次我构建我的 jar 以部署到服务器端一样。我必须根据 Windows 或 CentOS 更改这些变量名称。

您还有其他简单的方法吗,因为在测试时我忘记在 windows 上测试和在服务器端部署之前更改目录。

非常感谢任何可以指导我实现这一目标的帮助或任何链接。

【问题讨论】:

    标签: java continuous-deployment


    【解决方案1】:

    不要在类中硬编码路径,而是将配置外部化。有很多选择。

    1. 使用系统属性传递路径:

      java -Dfile.location=/home/dir1/ -jar jarfile.jar

      然后,您可以在程序中使用该属性: File directory = new File(System.getProperty("file.location");

    2. 如果您在 jar 中的类中运行 main 方法,请传递程序参数:

      java -jar jarfile.jar "D:/directory"

      这可以在你的主程序中读取

      public static void main(String[] args) { File directory = new File(System.getProperty(args[0]); //... rest of the program

    还有许多其他选项,包括属性文件、环境变量、JNDI,所有这些都取决于您的运行时环境。

    【讨论】:

      猜你喜欢
      • 2016-01-22
      • 2020-02-03
      • 1970-01-01
      • 2016-04-15
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      相关资源
      最近更新 更多