依赖
<dependencies>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.78</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.upload.app.UploadFileApp</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
示例代码
public class UploadFileApp {
@Parameter(names={"--fileurl", "-f"},help = true,required =true ,description = "this is file url")
String fileUrl;
@Parameter(names = "--help", help = true)
private boolean help;
public static void main(String[] args) {
UploadFileApp main = new UploadFileApp();
JCommander jct = JCommander.newBuilder()
.addObject(main)
.build();
jct.setProgramName("upload file app");
try {
jct.parse(args);
// 提供帮助说明
if (main.help) {
jct.usage();
return;
}
main.run();
}
catch (ParameterException parameterException ){
// 为了方便使用,同时输出exception的message
System.out.printf(parameterException.toString()+" ");
jct.usage();
}
}
public void run() {
System.out.printf("%s ", fileUrl);
}
}