通过简单java文件制作可执行jar包(以实现对文件加密为例)

背景:

有时候需要用java写一些简单的处理脚本用于在服务器上处理一些任务,通过sh脚本进行启动和调度。为了简单起见,可以直接在服务器通过命令的方式来手动编译和制作可执行jar包,这样的jar包体积也是非常小。

方法:

1、编写java代码

用一个对文件加密操作的一段代码为例。

public class EncodeClient {

    private static final int numOfEncAndDec = 0x999; //加密解密秘钥

    public static void main(String[] args) throws Exception {

        EncFile(args[0],args[1]);

    }

    public static void EncFile(String src, String enc) throws Exception {

        File srcFile = new File(src);

        File encFile = new File(enc);

        if(!srcFile.exists()){

            System.out.println("srcFile file created");

            srcFile.createNewFile();

        }

        if(!encFile.exists()){

            System.out.println("encrypt file created");

            encFile.createNewFile();

        }

        InputStream fis  = new FileInputStream(srcFile);

        OutputStream fos = new FileOutputStream(encFile);

        int dataOfFile;

        while ((dataOfFile = fis.read()) > -1) {

            fos.write(dataOfFile^numOfEncAndDec);

        }

        System.out.println("加密成功...");

        fis.close();

        fos.flush();

        fos.close();

    }

}

2、编译成class文件

javac -encoding utf-8 EncodeClient.java

注意,如果不指定编码可能会由于中文出现报错。

3、添加启动类清单

创建清单文件META-INF\MENIFEST.MF,写入以下内容

Manifest-Version: 1.0

Created-By: 1.8.0_121 (Oracle Corporation)

Main-Class: EncodeClient

4、制作jar包

jar -cvfm encode.jar META-INF\MENIFEST.MF EncodeClient.class

5、运行

java -jar encode.jar srcFile tarFile

encrypt file created

加密成功...

你可能感兴趣的:(java,java,jar,服务器)