1、Java文件 Test.java
先将Test编译成class文件
javac Test.java
2、jar包内的配置文件in.properties
3、jar包外的配置文件out.properties
4.编写MANIFEST.MF
执行jar命令
打包过后查看打包过后的jar目录
如下
META-INF/
META-INF/MANIFEST.MF
com/
com/Test.class
in.properties
MANIFEST.MF
在创建一个lib文件夹,lib下我们放置我们引用了的包:commons-lang-2.5.jar
将out.properties和aaa.jar放在同一目录执行下面命令:
得到以下结果:
xixi
name:xixi age:57
name:xiaohong age:14
package com;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
import org.apache.commons.lang.StringUtils;
public class Test {
public static void main(String[] args) {
try {
FileInputStream outIs = new FileInputStream("out.properties");
InputStream inIs = Test.class.getClassLoader().getResourceAsStream("in.properties");
Properties outPro = new Properties();
outPro.load(outIs);
Properties inPro = new Properties();
inPro.load(inIs);
if(StringUtils.isNotEmpty((String) outPro.get("name"))){
System.out.println(outPro.get("name"));
}
System.out.println("name:"+outPro.get("name")+" age:"+outPro.getProperty("age"));
System.out.println("name:"+inPro.get("name")+" age:"+inPro.getProperty("age"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
先将Test编译成class文件
javac Test.java
2、jar包内的配置文件in.properties
name=xiaohong
age=14
3、jar包外的配置文件out.properties
name=xixi
age=57
4.编写MANIFEST.MF
Manifest-Version: 1.0
Class-Path: lib/commons-lang-2.5.jar
Created-By: jynine
Main-Class: com.Test
执行jar命令
jar cvfm aaa.jar MANIFEST.MF .
打包过后查看打包过后的jar目录
jar tf aaa.jar
如下
META-INF/
META-INF/MANIFEST.MF
com/
com/Test.class
in.properties
MANIFEST.MF
在创建一个lib文件夹,lib下我们放置我们引用了的包:commons-lang-2.5.jar
将out.properties和aaa.jar放在同一目录执行下面命令:
java -jar aaa.jar
得到以下结果:
xixi
name:xixi age:57
name:xiaohong age:14