整個(gè)項(xiàng)目打包到現(xiàn)場(chǎng)部署需要大量成本的時(shí)候彬向,編寫(xiě)一個(gè)單功能的測(cè)試小程序部署就會(huì)便捷很多。直接上教程
1稼锅、通過(guò)idea創(chuàng)建一個(gè)普通的maven項(xiàng)目
2幢哨、找到自己需要用的第三方j(luò)ar包,此處使用commons-collections-3.2.1.jar
3哟冬、在項(xiàng)目文件夾中創(chuàng)建lib文件夾楼熄,如圖
4、將第三方j(luò)ar包復(fù)制到lib文件夾中浩峡,然后右鍵選擇添加到資源庫(kù)中
5可岂、修改pom文件內(nèi)容,如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>SMS</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- 添加自己引用的第三方包 -->
<dependency>
<!-- 這個(gè)隨便寫(xiě) -->
<groupId>org.example</groupId>
<!-- 這個(gè)隨便寫(xiě) -->
<artifactId>SMS</artifactId>
<!-- 這個(gè)隨便寫(xiě) -->
<version>1.0-SNAPSHOT</version>
<!-- 這個(gè)很重要 -->
<scope>system</scope>
<!-- 這個(gè)路徑不能錯(cuò)翰灾,錯(cuò)了idea會(huì)提示缕粹,正確idea會(huì)自動(dòng)帶出 -->
<systemPath>${basedir}/lib/commons-collections-3.2.1.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<!--<addClasspath>true</addClasspath> -->
<classpathPrefix></classpathPrefix>
<!-- 這個(gè)是主啟動(dòng)類稚茅,里面必須有main方法 -->
<mainClass>Test3</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
6、編寫(xiě)java代碼
import org.apache.commons.collections.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
public class Test3 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
// 調(diào)用第三方包里面的函數(shù)
System.out.println("數(shù)組大衅秸丁:" + CollectionUtils.size(list));
}
}
7亚享、使用idea右側(cè)的maven打包
8、在target目錄下創(chuàng)建run.bat文件
9绘面、編寫(xiě)如下命令欺税,然后運(yùn)行測(cè)試
@echo off
set jdk_path=D:\Java\jdk1.7.0.79
set java_cmd=%jdk_path%\bin\java
%java_cmd% -Xbootclasspath/a:..\lib\commons-collections-3.2.1.jar -jar .\SMS-1.0-SNAPSHOT.jar
pause
注意:如果需要引入的第三方包是多個(gè),在Windows中用分號(hào);隔開(kāi)揭璃,在Linux中用冒號(hào):隔開(kāi)
10晚凿、結(jié)果如下
11、有時(shí)候?yàn)榱瞬恢匦麓虬苯有薷囊恍﹨?shù)值瘦馍,需要引入外部配置文件歼秽,這時(shí)需要編寫(xiě)如下代碼獲取配置文件中的值
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class Test {
private static String comPorts;
private static int baudRate;
private static String simPin;
private static String manufacture;
private static String model;
private static String sendContent;
private static String receivers;
public static void main(String[] args) throws IOException {
initParameters(args);
System.out.println(comPorts);
System.out.println(baudRate);
System.out.println(simPin);
System.out.println(manufacture);
System.out.println(model);
System.out.println(sendContent);
System.out.println(receivers);
}
private static void initParameters(String[] args) throws IOException {
Properties properties = new Properties();
if (args.length != 0) {
FileReader fileReader = new FileReader(args[0]);
properties.load(fileReader);
comPorts = properties.getProperty("comPorts");
baudRate = Integer.parseInt(properties.getProperty("baudRate"));
simPin = properties.getProperty("simPin");
manufacture = properties.getProperty("manufacture");
model = properties.getProperty("model");
sendContent = properties.getProperty("sendContent");
receivers = properties.getProperty("receivers");
}
}
}
12、創(chuàng)建配置文件情组,如下
13燥筷、配置文件內(nèi)容為
#----------------------短信網(wǎng)關(guān)配置-------------------------
#短信設(shè)備COM端口號(hào)
comPorts=COM1
#短信設(shè)備波特率:115200,19200,9600
baudRate=115200
#短信SIM卡PIN碼
simPin=0000
#短信設(shè)備廠商
manufacture=sms
#短信設(shè)備型號(hào)
model=123
#發(fā)送內(nèi)容
sendContent=1212
#接收人
receivers=00000000000
14呻惕、這時(shí)啟動(dòng)時(shí)需要指定配置文件
@echo off
set current_path=%~dp0
set jdk_path=D:\Java\jdk1.7.0.79
set java_cmd=%jdk_path%\bin\java
%java_cmd% -Xbootclasspath/a:..\lib\commons-collections-3.2.1.jar -jar .\single_function_project-1.0-SNAPSHOT.jar %current_path%\gateway-config.properties
pause