使用spring-shell创建交互式命令行应用流程
【摘要】 (1).创建pom.xml<?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:...
(1).创建pom.xml
<?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>com.x2_sap_collect</groupId>
<artifactId>x2_sap_collect_shell</artifactId>
<version>1.0-SNAPSHOT</version>
<!--项目属性-->
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!--启动类-->
<start-class>com.x2_sap_collect.ShellApplication</start-class>
<!--跳过测试类-->
<skipTests>true</skipTests>
</properties>
<!--项目依赖-->
<dependencies>
<!--一定要依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.7.14</version>
</dependency>
<!--一定要依赖-->
<dependency>
<groupId>org.springframework.shell</groupId>
<artifactId>spring-shell-starter</artifactId>
<version>2.1.11</version>
</dependency>
</dependencies>
<!--编译设置-->
<build>
<plugins>
<!--配置spring boot的打包依赖,方便把整个项目打包为Jar文件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.4</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
复制
(2).创建一个启动类,文件路径为.\src\main\java\com\项目名\ShellApplication.java
package com.x2_sap_collect;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ShellApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(ShellApplication.class);
app.run(args);
}
}
复制
(3).创建一个命令行程序类,文件路径为.\src\main\java\com\项目名\task\V1.java
package com.x2_sap_collect.task;
import org.springframework.shell.standard.ShellComponent;
import org.springframework.shell.standard.ShellMethod;
@ShellComponent
public class V1 {
@ShellMethod("Add two integers together.")
public int add(int a, int b) {
return a + b;
}
}
复制
(4).启动程序进行测试
java -jar .\x2_sap_collect_shell-1.0-SNAPSHOT.jar
shell:>add --a 1 --b 2
3
复制
测试1+2等于3
(5).学习中我遇到的错误
提示./xx.jar中没有主清单属性,需要您在pom中设置启动类start-class,同时通过编译设置依赖spring-boot-maven-plugin来进行编译,spring-boot-maven-plugin方便把整个项目打包为Jar文件
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)