使用脚本运行程序读取.properties文件

1).properties文件

name=xiaoxi
age=24

2)读取代码

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class PropertiesTest {
	
	private Properties defaultProperties = new Properties();
	
	public PropertiesTest(){
		
	}
	
	private void getProperties(String properties){
		
		try {
			InputStream in = new FileInputStream(properties);
			this.defaultProperties.load(in);
			in.close();

			String name = this.defaultProperties.getProperty("name");
			System.out.println("name: " + name);
			int age = Integer.valueOf(this.defaultProperties.getProperty("age"));
			System.out.println("age: " + age);
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args){
		
		if ((args == null) || (args.length == 0)) {
			System.out.println("java -jar propertiesTest.jar [属性文件]");
			return;
		}
		String TEST_HOME = null;
		try {
			TEST_HOME = System.getenv("TEST_HOME");
		} catch (Exception e) {
			
		}

		String testPro = args[0];
		System.out.println("testPro: " + testPro);

		String properties = TEST_HOME + File.separator + "conf" + File.separator + "pro.properties"
		PropertiesTest1 pt = new PropertiesTest1();
		pt.getProperties(properties);
		
	}
}

3)运行脚本文件start.sh

#!/bin/bash

#TEST_HOME="/home/logmonitor/LogStat"

export TEST_HOME=/home/xiaoxi/test

TESTPRO="hello"

echo "java -jar $TEST_HOME/core/providerLogMonth.jar $TESTPRO"
nohup java -jar $TEST_HOME/core/providerLogMonth.jar $TESTPRO > $TEST_HOME/log/test.log 2>&1 &

4)输出结果

testPro: hello
name: xiaoxi
age: 24

注:

1)将程序打成 jar包和pro.properties文件添加到Linux服务器上;

2)使用脚本start.sh运行程序,sh start.sh;

3)TESTPRO为运行程序时添加的参数;

4)程序将TEST_HOME作为环境变量读取,TEST_HOME = System.getenv("TEST_HOME")

5) File.separetor为文件分隔符;

6)脚本中echo为运行程序时的回显语句;

7)如果脚本是在Windows环境先编写的放到Linux环境时需执行dos2unix start.sh命令转换编码格式;









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用log4j.properties文件时,如果发现其不起作用,可能有以下几个可能的原因: 1. 文件位置错误:首先,需要确保log4j.properties文件位于正确的位置。通常,该文件应该位于项目的classpath目录下,如src/main/resources目录。如果文件位置不正确,log4j可能无法找到文件读取配置,从而导致不起作用。 2. 配置错误:在log4j.properties文件中,需要正确配置相关的日志级别、输出目标等信息。可能有错误的配置参数或没有正确设置相关配置,导致log4j无法按照预期工作。可以检查配置文件中是否正确设置了日志级别、输出目标、格式等信息。 3. 代码中未正确加载配置文件:在代码中,需要确保正确加载log4j.properties文件的配置。通常可以通过`PropertyConfigurator.configure("log4j.properties")`方法来加载配置文件,确保代码中有正确的加载语句。 4. 依赖冲突:如果项目中同时引入了其他日志库(如slf4j、commons-logging等),可能存在依赖冲突导致log4j.properties不起作用。可以排查项目的依赖关系,确保只引入一种日志库,并正确配置。 5. 运行环境配置问题:最后,还需要检查运行环境的配置是否正确。例如,在使用Java Web应用程序时,可能需要将log4j.properties文件放置在WEB-INF/classes目录下。如果是其他类型的项目,可能需要检查运行脚本或IDE的配置,确保正确加载log4j.properties文件。 综上所述,如果log4j.properties不起作用,可以通过检查文件位置、配置错误、代码中加载、依赖冲突以及运行环境配置等方面进行排查和修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值