From 60806cefcd044ce04f75af8fd8777e4abd59a57c Mon Sep 17 00:00:00 2001 From: Sutra Zhou Date: Thu, 14 Jun 2018 22:54:58 +0800 Subject: [PATCH] Read version number from properties file, and use maven resource plugin filtering to assign the actual value. --- weixin4j-base/pom.xml | 8 +++++++ .../com/foxinmy/weixin4j/util/Consts.java | 23 +++++++++++++++++-- .../com/foxinmy/weixin4j/weixin4j.properties | 2 ++ .../com/foxinmy/weixin4j/util/ConstsTest.java | 16 +++++++++++++ 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 weixin4j-base/src/main/resources/com/foxinmy/weixin4j/weixin4j.properties create mode 100644 weixin4j-base/src/test/java/com/foxinmy/weixin4j/util/ConstsTest.java diff --git a/weixin4j-base/pom.xml b/weixin4j-base/pom.xml index 08eb0a5e..a9360336 100644 --- a/weixin4j-base/pom.xml +++ b/weixin4j-base/pom.xml @@ -11,6 +11,14 @@ weixin4j-base 微信开发基础工程 https://github.com/foxinmy/weixin4j/tree/master/weixin4j-base + + + + src/main/resources + true + + + com.alibaba diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/Consts.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/Consts.java index 88028228..534dea9a 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/Consts.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/Consts.java @@ -1,6 +1,9 @@ package com.foxinmy.weixin4j.util; +import java.io.IOException; +import java.io.InputStream; import java.nio.charset.Charset; +import java.util.Properties; /** * 常量类 @@ -12,8 +15,24 @@ import java.nio.charset.Charset; * @see */ public final class Consts { - public static final String WEIXIN4J = "weixin4j"; - public final static String VERSION = "1.7.9"; + + private static Properties loadProperties() { + Properties properties = new Properties(); + InputStream inputStream = Consts.class.getResourceAsStream("../weixin4j.properties"); + try { + properties.load(inputStream); + } catch (IOException e) { + throw new RuntimeException(e); + } finally { + IOUtil.close(inputStream); + } + return properties; + } + + private static final Properties PROPERTIES = loadProperties(); + + public static final String WEIXIN4J = PROPERTIES.getProperty("weixin4j.name"); + public static final String VERSION = PROPERTIES.getProperty("weixin4j.version"); public static final Charset UTF_8 = Charset.forName("UTF-8"); public static final Charset GBK = Charset.forName("GBK"); public static final String SUCCESS = "SUCCESS"; diff --git a/weixin4j-base/src/main/resources/com/foxinmy/weixin4j/weixin4j.properties b/weixin4j-base/src/main/resources/com/foxinmy/weixin4j/weixin4j.properties new file mode 100644 index 00000000..e384bc98 --- /dev/null +++ b/weixin4j-base/src/main/resources/com/foxinmy/weixin4j/weixin4j.properties @@ -0,0 +1,2 @@ +weixin4j.name=weixin4j +weixin4j.version=${project.version} diff --git a/weixin4j-base/src/test/java/com/foxinmy/weixin4j/util/ConstsTest.java b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/util/ConstsTest.java new file mode 100644 index 00000000..bf28f687 --- /dev/null +++ b/weixin4j-base/src/test/java/com/foxinmy/weixin4j/util/ConstsTest.java @@ -0,0 +1,16 @@ +package com.foxinmy.weixin4j.util; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + +import org.junit.Test; + +public class ConstsTest { + + @Test + public void test() { + assertEquals("weixin4j", Consts.WEIXIN4J); + assertFalse(Consts.VERSION.equals("${project.version}")); + } + +}