GraxCode / threadtear

Multifunctional java deobfuscation tool suite
GNU General Public License v3.0
889 stars 121 forks source link

Can't find the main method #3

Closed d3v1l401 closed 4 years ago

d3v1l401 commented 4 years ago

So since you don't give an already compiled version in your Release section, I downloaded the project and compiled it myself.

I'm not familiar with Gradle so I may be doing something wrong, first, I setted up the gradlew environment and then compiled the whole thing for a jar file:

gradlew build then gradlew jar

C:\Users\xxxx\Desktop\threadtear-master>gradlew jar

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
C:\Users\xxxx\Desktop\threadtear-master>cd build\libs\

C:\Users\xxxx\Desktop\threadtear-master\build\libs>java -jar threadtear.jar
no main manifest attribute, in threadtear.jar

The reason is it can't find the main method, I tried applying it myself with java -cp threadtear.jar me.nov.threadtear

and even with that, the error is Error: Could not find or load main class me.nov.threadtear

Despite I manually checked and it does contain the main method in there: public static void main(String[] args) throws Exception {

What am I doing wrong? :)

d3v1l401 commented 4 years ago

Untitled

well, that does explain why... None of the gradlew build/assemble/jar tasks do actually build the whole project into a binary executable jar.

GraxCode commented 4 years ago

Fixed gradle.build. For jar compilation read the README.

d3v1l401 commented 4 years ago

Hey, still bringing bad news:

C:\Users\xxxx\Desktop\threadtear-master>gradlew build
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

> Task :compileJava
C:\Users\xxxx\Desktop\threadtear-master\src\me\nov\threadtear\swing\list\component\SortedTreeClassNode.java:40: error: no suitable method found for sort(Vector<TreeNode>,SortedTreeClassNode)
                        Collections.sort(children, this);
                                   ^
    method Collections.<T#1>sort(List<T#1>) is not applicable
      (cannot infer type-variable(s) T#1
        (actual and formal argument lists differ in length))
    method Collections.<T#2>sort(List<T#2>,Comparator<? super T#2>) is not applicable
      (inference variable T#2 has incompatible bounds
        equality constraints: TreeNode
        lower bounds: SortedTreeClassNode,Object)
  where T#1,T#2 are type-variables:
    T#1 extends Comparable<? super T#1> declared in method <T#1>sort(List<T#1>)
    T#2 extends Object declared in method <T#2>sort(List<T#2>,Comparator<? super T#2>)
Note: C:\Users\xxxx\Desktop\threadtear-master\src\me\nov\threadtear\execution\stringer\v3_9\StringObfuscationStringer.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 8s
1 actionable task: 1 executed