hey i write e java Obfuscator and build it using IntelliJ IDEA Artifact but when I enter arguments for obf file, the console outputs:
Error: Could not find or load main class JavaCodeObfuscator Caused by: java.lang.ClassNotFoundException: JavaCodeObfuscator
Console Argument : java JavaCodeObfuscator hello.java
code:
import java.io.*;
import java.util.*;
public class JavaCodeObfuscator {
    private static final int MIN_NAME_LENGTH = 4;
    private static final int MAX_NAME_LENGTH = 8;
    private static final int NAME_CHAR_SET_SIZE = 26;
    private static final Random RANDOM = new Random();
    public static void main(String[] args) {
        if (args.length < 1) {
            return;
        }
        String inputFile = args[0];
        try {
            String sourceCode = readSourceCode(inputFile);
            String obfuscatedCode = obfuscate(sourceCode);
            String outputFilePath = getOutputFilePath(inputFile);
            writeObfuscatedCode(obfuscatedCode, outputFilePath);
        } catch (IOException e) {
            System.err.println("Error: " + e.getMessage());
        }
    }
    private static String readSourceCode(String inputFile) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader(inputFile));
        StringBuilder sourceCodeBuilder = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            sourceCodeBuilder.append(line).append("\n");
        }
        reader.close();
        return sourceCodeBuilder.toString();
    }
    private static String obfuscate(String sourceCode) {
        Map<String, String> nameMap = new HashMap<>();
        StringBuilder obfuscatedCodeBuilder = new StringBuilder();
        int nameCounter = 0;
        for (int i = 0; i < sourceCode.length(); i++) {
            char c = sourceCode.charAt(i);
            if (Character.isJavaIdentifierStart(c)) {
                StringBuilder nameBuilder = new StringBuilder();
                nameBuilder.append(c);
                while (i < sourceCode.length() - 1 && Character.isJavaIdentifierPart(c = sourceCode.charAt(++i))) {
                    nameBuilder.append(c);
                }
                String name = nameBuilder.toString();
                String obfuscatedName = nameMap.get(name);
                if (obfuscatedName == null) {
                    obfuscatedName = generateName(nameCounter++);
                    nameMap.put(name, obfuscatedName);
                }
                obfuscatedCodeBuilder.append(obfuscatedName);
                i--;
            } else {
                obfuscatedCodeBuilder.append(c);
            }
        }
        return obfuscatedCodeBuilder.toString();
    }
    private static String generateName(int index) {
        StringBuilder nameBuilder = new StringBuilder();
        int nameLength = MIN_NAME_LENGTH + RANDOM.nextInt(MAX_NAME_LENGTH - MIN_NAME_LENGTH + 1);
        for (int i = 0; i < nameLength; i++) {
            char c = (char) ('a' + RANDOM.nextInt(NAME_CHAR_SET_SIZE));
            nameBuilder.append(c);
        }
        return nameBuilder.toString();
    }
    private static String getOutputFilePath(String inputFile) {
        int dotIndex = inputFile.lastIndexOf('.');
        String extension = dotIndex >= 0 ? inputFile.substring(dotIndex) : "";
        String outputFileName = inputFile.substring(0, inputFile.length() - extension.length()) + "_obfuscated" + extension;
        return outputFileName;
    }
    private static void writeObfuscatedCode(String obfuscatedCode, String outputFilePath) throws IOException {
        PrintWriter writer = new PrintWriter(new FileWriter(outputFilePath));
        writer.print(obfuscatedCode);
        writer.close();
        System.out.println("Protected");
    }
}
Yes, I'm new to programming and maybe I did something wrong when building the original jar file
 
    