如何在Java maven项目

时间:2018-02-23 11:31:09

标签: java continuous-deployment

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

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

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

你有没有其他简单的方法,因为在测试的很多时候我忘记在Windows上测试和在服务器端部署之前更改这些目录。

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

1 个答案:

答案 0 :(得分:0)

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

  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

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