使用XJar对springboot项目打包时进行加密

XJar -github源码

一,配置说明

1. 更改 pom.xml

首先添加 jitpack.io 插件仓库

<!-- 设置 jitpack.io 插件仓库 -->
    <pluginRepositories>
        <pluginRepository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </pluginRepository>
    </pluginRepositories>

再添加xjar插件

  • 建议不要再pom文件的xjar插件中设置密码,而是在打包时通命令行设置密码,因为pom文件无法被加密
  • 建议在下文代码中的includes代码块中添加你想要加密的代码,不然会默认加密整个jar包,加密完的jar包会变得很大
           <plugin>
                <groupId>com.github.core-lib</groupId>
                <artifactId>xjar-maven-plugin</artifactId>
                <version>4.0.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>build</goal>
                        </goals>
                        <phase>package</phase>
												<!--<phase>install</phase>-->
                      
                        <configuration>
												<!--可选配置,详见github项目
                        		<password/>  
                            <algorithm/>
                            <keySize/>
                            <ivSize/>
                            <includes>
                                <include/>
                            </includes>
                            <excludes>
                                <exclude/>
                            </excludes>
                            <sourceDir/>
                            <sourceJar/>
                            <targetDir/>
                            <targetJar/>       -->
 
                        </configuration>
                    </execution>
                </executions>
            </plugin>

注意,xjar插件要放在 spring-boot-maven-plugin 之后,而且这个插件可能需要做如下改动

						<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                  
                <!--xjar不允许设置executable-->
                <!--<executable>true</executable>-->
                  
                <!--xjar不允许设置embeddedLaunchScript-->  
                <!--<embeddedLaunchScript></embeddedLaunchScript>-->
                  
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>

二,打包

#   ${password} 为你自己设置的加密密码
sudo mvn clean package -Dxjar.password=${password}

运行完后在 target 目录下生成如下两个文件

  • xjar.go
  • 项目名称 .xjar

接下来执行

#   需要提前安装go语言环境
sudo go build xjar.go 

执行结束后可以看到生成 xjar 文件 (windows下为xjar.exe)这是加密后的 jar 包的启动器

然后我们将 项目名称 .xjar 的后缀名改为 .jar

我们就获得了执行jar包需要的所有材料,包括:

  • xjar (启动器)
  • 项目名称 .jar (加密后的jar包,需要启动器来运行)

三,运行

sudo ./xjar java -jar  项目名称 .jar 
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐