Selaa lähdekoodia

1.maven插件打包也可以(可选)指定打包的包名称
2.清楚pom.xml中的插件信息时,若不存在pom.xml,记录warn日志,直接跳过,继续下面的步骤

JustryDeng 3 vuotta sitten
vanhempi
commit
9b5eba1722

+ 2 - 1
README.md

@@ -37,6 +37,7 @@
       <configuration>
           <!-- <finalName></finalName>-->
           <includePrefix>加密范围</includePrefix>
+          <!-- <originJarOrWar></originJarOrWar>-->
           <!-- <excludePrefix></excludePrefix>-->
           <!-- <includeXmlPrefix></includeXmlPrefix>-->
           <!-- <excludeXmlPrefix></excludeXmlPrefix>-->
@@ -84,7 +85,7 @@
   <tr align="center">
     <td>originJarOrWar</td>
     <td>是</td>
-    <td>指定要加密的jar/war文件<br/>注:当使用maven插件进行自动加密时,此参数。</td>
+    <td>指定要加密的jar/war文件<br/>注:当使用maven插件进行自动加密时,此参数非必填,不填则自动获取。</td>
     <td>originJarOrWar=/my-project.jar</td>
   </tr>
     <tr align="center">

+ 6 - 1
class-winter-core/src/main/java/winter/com/ideaaedi/classwinter/executor/EncryptExecutor.java

@@ -409,7 +409,12 @@ public class EncryptExecutor {
             return;
         }
         // 清除META-INF/maven下pom.xml中关于class-winter-plugin的相关信息
-        IOUtil.listFileOnly(new File(this.targetRootDir, Constant.POM_XML_ROOT), "pom.xml").stream()
+        File metaInfMavenFile = new File(this.targetRootDir, Constant.POM_XML_ROOT);
+        if (!metaInfMavenFile.exists()) {
+            Logger.warn(metaInfMavenFile.getAbsolutePath() + "non-exist. skip clearWinterPluginInfo.");
+            return;
+        }
+        IOUtil.listFileOnly(metaInfMavenFile, "pom.xml").stream()
                 .filter(x -> "pom.xml".equals(x.getName())).forEach(pomFile -> {
             SAXReader saxReader = new SAXReader();
             FileOutputStream fileOutputStream = null;

+ 2 - 2
class-winter-core/src/test/java/winter/com/ideaaedi/classwinter/AllTest.java

@@ -18,8 +18,8 @@ import winter.com.ideaaedi.classwinter.util.PathUtil;
 public class AllTest {
     
     public static void main(String[] args) {
-        xmlTest();
-//        otherTest();
+//        xmlTest();
+        otherTest();
     }
     
     /**

+ 6 - 2
class-winter-maven-plugin/src/main/java/winter/com/ideaaedi/classwinter/plugin/ClassWinterPlugin.java

@@ -1,5 +1,6 @@
 package winter.com.ideaaedi.classwinter.plugin;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.maven.model.Build;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -26,7 +27,7 @@ public class ClassWinterPlugin extends AbstractMojo {
     @Parameter(defaultValue = "${project}", readonly = true, required = true)
     private MavenProject project;
     
-    @SuppressWarnings("FieldCanBeLocal")
+    @Parameter
     private String originJarOrWar;
     
     @Parameter(required = true)
@@ -91,7 +92,10 @@ public class ClassWinterPlugin extends AbstractMojo {
         
         Build build = project.getBuild();
         // 要加密的jar/war文件的绝对路径
-        originJarOrWar = build.getDirectory() + File.separator + build.getFinalName() + "." + project.getPackaging();
+        if (StringUtils.isBlank(originJarOrWar)) {
+            originJarOrWar = build.getDirectory() + File.separator + build.getFinalName() + "." + project.getPackaging();
+            Logger.debug("Determine originJarOrWar -> " + originJarOrWar);
+        }
         // 创建加密对象类
         EncryptExecutor encryptExecutor = EncryptExecutor.builder()
                 .originJarOrWar(originJarOrWar)