导入
配置 CLI 客户端
开发一个简单的 CLI 客户端来测试端到端功能。
父项目的 POM 文件
1<groupId>io.datajek</groupId> 2<artifactId>grpc-ftp-project</artifactId> 3<version>1.0.2</version> 4<packaging>pom</packaging> 5<name>grpc-ftp-project</name> 6 7<modules> 8 <module>ftp-service-proto</module> 9 <module>ftp-service</module> 10 <module>ftp-service-client</module> 11 <module>ftp-service-cli-client</module> 12</modules>
ftp-service-cli-client 项目的 POM 文件
1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <parent> 8 <groupId>io.datajek</groupId> 9 <artifactId>grpc-ftp-project</artifactId> 10 <version>1.0.2</version> 11 </parent> 12 13 14 <groupId>io.datajek</groupId> 15 <artifactId>ftp-service-cli-client</artifactId> 16 <version>1.0.2</version> 17 <name>ftp-service-cli-client</name> 18 19 <properties> 20 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 21 <maven.compiler.source>1.8</maven.compiler.source> 22 <maven.compiler.target>1.8</maven.compiler.target> 23 <maven.deploy.skip>true</maven.deploy.skip> 24 <java.version>1.8</java.version> 25 </properties> 26 27 <dependencies> 28 <dependency> 29 <groupId>io.datajek</groupId> 30 <artifactId>ftp-service-client</artifactId> 31 <version>1.0.2</version> 32 </dependency> 33 <dependency> 34 <groupId>commons-cli</groupId> 35 <artifactId>commons-cli</artifactId> 36 <version>1.5.0</version> 37 </dependency> 38 <dependency> 39 <groupId>org.apache.logging.log4j</groupId> 40 <artifactId>log4j-api</artifactId> 41 </dependency> 42 <dependency> 43 <groupId>org.apache.logging.log4j</groupId> 44 <artifactId>log4j-core</artifactId> 45 <version>2.17.2</version> 46 </dependency> 47 </dependencies> 48 49 <build> 50 <finalName>ftp-service-cli-client-${project.version}</finalName> 51 <extensions> 52 <extension> 53 <groupId>kr.motd.maven</groupId> 54 <artifactId>os-maven-plugin</artifactId> 55 <version>1.6.2</version> 56 </extension> 57 </extensions> 58 <plugins> 59 <plugin> 60 <groupId>org.apache.maven.plugins</groupId> 61 <artifactId>maven-assembly-plugin</artifactId> 62 <version>3.1.0</version> 63 <configuration> 64 <descriptorRefs> 65 <descriptorRef>jar-with-dependencies</descriptorRef> 66 </descriptorRefs> 67 </configuration> 68 <executions> 69 <execution> 70 <id>assemble-all</id> 71 <phase>package</phase> 72 <goals> 73 <goal>single</goal> 74 </goals> 75 </execution> 76 </executions> 77 </plugin> 78 </plugins> 79 </build> 80</project>
FTP 客户端依赖项
1<dependency> 2 <groupId>io.datajek</groupId> 3 <artifactId>ftp-service-client</artifactId> 4 <version>1.0.2</version> 5</dependency>
Commons CLI 依赖项
1<dependency> 2 <groupId>commons-cli</groupId> 3 <artifactId>commons-cli</artifactId> 4 <version>1.5.0</version> 5</dependency>
构建配置
1<build> 2 <finalName>ftp-service-cli-client-${project.version}</finalName> 3 ... 4</build>
OS Maven 插件扩展
1<extensions> 2 <extension> 3 <groupId>kr.motd.maven</groupId> 4 <artifactId>os-maven-plugin</artifactId> 5 <version>1.6.2</version> 6 </extension> 7</extensions>