diff --git a/pom.xml b/pom.xml index 48e17f6..0a24d60 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ xyz.wbsite deployee-maven-plugin - 2.0.4-SNAPSHOT + 3.0.1-SNAPSHOT maven-plugin deployee diff --git a/src/main/java/xyz/wbsite/deployee/Deploy.java b/src/main/java/xyz/wbsite/deployee/Deploy.java index b761b69..5bebb25 100644 --- a/src/main/java/xyz/wbsite/deployee/Deploy.java +++ b/src/main/java/xyz/wbsite/deployee/Deploy.java @@ -3,14 +3,16 @@ package xyz.wbsite.deployee; import cn.hutool.core.convert.Convert; import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.util.StrUtil; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; import xyz.wbsite.deployee.config.Server; import xyz.wbsite.deployee.util.IOUtil; import xyz.wbsite.deployee.util.NetUtil; import xyz.wbsite.deployee.util.TaskUtil; import xyz.wbsite.deployee.util.ssh.JSshClient; import xyz.wbsite.deployee.util.ssh.SshSimpleProgress; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; + +import xyz.wbsite.deployee.config.Server.JreVersion; import java.io.File; import java.io.IOException; @@ -71,7 +73,7 @@ public class Deploy extends AbstractMojo { printLog(serverPath); if (!client.exist(serverPath)) { try { - printLog("start install jre"); + printLog("start upload jre"); printLog("create dir " + serverPath); boolean dirs = client.createDirs(serverPath); @@ -81,9 +83,16 @@ public class Deploy extends AbstractMojo { throw new MojoExecutionException(StrUtil.format("create dirs[{}] failed.", serverPath)); } - InputStream stream = ResourceUtil.getStream("jre.tar.gz"); + JreVersion jreVersion = server.getJre() != null ? server.getJre() : JreVersion.jre8; + String jreFileName = jreVersion.name() + ".tar.gz"; + printLog("use jre version: {}", jreVersion.name()); + + InputStream stream = ResourceUtil.getStream(jreFileName); + if (stream == null) { + throw new MojoExecutionException(StrUtil.format("jre resource [{}] not found.", jreFileName)); + } - client.putFile(stream, serverPath + "/jre.tar.gz", new SshSimpleProgress() { + client.putFile(stream, serverPath + "/" + jreFileName, new SshSimpleProgress() { @Override public void update(int process) { System.out.print(StrUtil.format("[INFO] upload jre {}", process + "%\r")); @@ -91,12 +100,12 @@ public class Deploy extends AbstractMojo { }); printLog(StrUtil.format("upload jre {}", "finish")); - printLog("unpackage [jre.tar.gz]"); + printLog("unpackage [{}]", jreFileName); client.exec("cd {}", serverPath); - client.exec("tar -zxvf {} -C {}", serverPath + "/jre.tar.gz", serverPath); + client.exec("tar -zxvf {} -C {}", serverPath + "/" + jreFileName, serverPath); - printLog("delete [jre.tar.gz]"); - client.deleteFile(serverPath + "/jre.tar.gz"); + printLog("delete [{}]", jreFileName); + client.deleteFile(serverPath + "/" + jreFileName); printLog("create dir [jar]"); client.createDirs(serverPath + "/jar"); diff --git a/src/main/java/xyz/wbsite/deployee/config/Server.java b/src/main/java/xyz/wbsite/deployee/config/Server.java index 19c7932..56b30ee 100644 --- a/src/main/java/xyz/wbsite/deployee/config/Server.java +++ b/src/main/java/xyz/wbsite/deployee/config/Server.java @@ -42,6 +42,17 @@ public class Server { */ private String deployPort; + /** + * JRE版本,可选值:jre8, jre17 + * @parameter defaultValue="jre8" + */ + private JreVersion jre; + + public enum JreVersion { + jre8, + jre17 + } + public String getName() { return name; } @@ -105,4 +116,12 @@ public class Server { public void setDeployPort(String deployPort) { this.deployPort = deployPort; } + + public JreVersion getJre() { + return jre; + } + + public void setJre(JreVersion jre) { + this.jre = jre; + } } diff --git a/src/main/resources/jre17.tar.gz b/src/main/resources/jre17.tar.gz new file mode 100644 index 0000000..1e9e144 Binary files /dev/null and b/src/main/resources/jre17.tar.gz differ diff --git a/src/main/resources/jre.tar.gz b/src/main/resources/jre8.tar.gz similarity index 100% rename from src/main/resources/jre.tar.gz rename to src/main/resources/jre8.tar.gz