obfuscator
obfuscator copied to clipboard
what happend to --packageMainClass
Hello,
I saw on your YouTube Video that you entered your main class under --packageMainClass and after obfuscating the jar again, the package names where changed. I wanted tha same thing and noticed that the variable --packageMainClass isn't available anymore in your newest version. Is there a way to change the package names now? The Code from me is perfectly obfuscated.
Kind Regards, Patty2300
Processors > Packager
Ok thanks. Now the classes I created were rewritten somewhere but I can't run the jar anymore. What do I have to choose when I go there? My Original MANIFEST.MF looks like this:
Manifest-Version: 1.0 Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader Rsrc-Class-Path: ./ javafx.base.jar javafx.controls.jar javafx.fxml.jar javafx.graphics.jar javafx.media.jar javafx.swing.jar javafx.web.jar ja vafx-swt.jar activation.jar jsoup-1.11.3.jar mail.jar Rsrc-Main-Class: fxGui.Gui Class-Path: .
When I'm in eclipse I need to start fxGui.Gui to get the program running.
@superblaubeere27 can you help me?
Ok thanks. Now the classes I created were rewritten somewhere but I can't run the jar anymore. What do I have to choose when I go there? My Original MANIFEST.MF looks like this:
Manifest-Version: 1.0 Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader Rsrc-Class-Path: ./ javafx.base.jar javafx.controls.jar javafx.fxml.jar javafx.graphics.jar javafx.media.jar javafx.swing.jar javafx.web.jar ja vafx-swt.jar activation.jar jsoup-1.11.3.jar mail.jar Rsrc-Main-Class: fxGui.Gui Class-Path: .
When I'm in eclipse I need to start fxGui.Gui to get the program running.
Can you use the method in eclipse where you extract the libraries into the JAR instead of packaging them? This isn't supported with obfuscator.
Usally the obfuscator should replace the Main-Class attribute by itself, but it doesn't you can find and replace the Main-Class yourself. It is always called something like Main345346
@superblaubeere27 OK I did that now. In the obfuscator gui I selected enebled under Packager and used "Use MainClass from Jar Mainfest". In the generated Jar the Manifest file looks like this: `Manifest-Version: 1.0 Main-Class: lllllllllllllllClass-Path: .
Name: javax/activation/SecuritySupport12$3.class SHA1-Digest: t17MgFzefsEODCAhdr0Sp9wz5/Q=
Name: javax/activation/DataContentHandlerFactory.class SHA1-Digest: 7sK1N48hT5JuGK4CPHqlDB648/8=
Name: javax/activation/ObjectDataContentHandler.class SHA1-Digest: MvBEMcpyrIFvj0WWesKTQ1Xof/Y=
Name: javax/activation/DataContentHandler.class SHA1-Digest: 4ScrMQQptqNulV+va+UAbeyWgCY=
Name: com/sun/activation/viewers/TextViewer.class SHA1-Digest: SDcybqXjPt6lB7MFTekaMQLo1XU=
Name: com/sun/activation/registries/MimeTypeEntry.class SHA1-Digest: RjQc1npYLzmhAl8Tcm70Ge0QeqA=
Name: javax/activation/CommandObject.class SHA1-Digest: qvYPNnH4j2UUfQ0BnRPxamLezf4=
Name: com/sun/activation/viewers/TextEditor.class SHA1-Digest: v/CQ9F0afPiGfz3Q5QYgDH8KGVY=
Name: com/sun/activation/viewers/ImageViewerCanvas.class SHA1-Digest: hYOFlCZpdmIyCgfulKuL+9YuYM0=
Name: com/sun/activation/registries/MailcapFile.class SHA1-Digest: 7Ynl9y+DzEy1icHtnpCU/l5RuIc=
Name: javax/activation/FileTypeMap.class SHA1-Digest: hD5elx7xhmbFWb68dgDXeMsz0A0=
Name: javax/activation/CommandInfo.class SHA1-Digest: 1cKS/VKDQRQtAdvjQSJXZfjuKnM=
Name: com/sun/activation/registries/MailcapTokenizer.class SHA1-Digest: zSjxxhDskZteW4bJMALwI/gtMdU=
Name: javax/activation/MailcapCommandMap.class SHA1-Digest: eYZxYHjNOLV8L2zhfHapZWuFuuo=
Name: javax/activation/DataHandler$1.class SHA1-Digest: YgB/hf89aSawmFGr0mlwtjccfeI=
Name: javax/activation/UnsupportedDataTypeException.class SHA1-Digest: G1LVjur46DQFrps5HysTEqRM/NA=
Name: javax/activation/URLDataSource.class SHA1-Digest: /aYv/WOFrGRrW3CjsleMIIVgedY=
Name: com/sun/activation/registries/LineTokenizer.class SHA1-Digest: 5S1ZtvDD0IoSHNKT8gZed6wXdVw=
Name: javax/activation/SecuritySupport12$5.class SHA1-Digest: 9mZfG3X19Jtaf5ycmmfSMeknnkk=
Name: javax/activation/SecuritySupport12.class SHA1-Digest: f51IilsGhzv/KqVP3eEGPT8KLLA=
Name: javax/activation/MimeTypeParameterList.class SHA1-Digest: bCozM0t+J3YcJVez99Mw8jo4ES0=
Name: javax/activation/DataSource.class SHA1-Digest: esP7C47kvDVsS/yoBAst31EiDhM=
Name: javax/activation/SecuritySupport12$4.class SHA1-Digest: DLnWjma9u5+oqsMUEs6p3WN+ReQ=
Name: javax/activation/DataHandlerDataSource.class SHA1-Digest: RdeKh/ecCa0+yJw3SYDaEfwXCo8=
Name: javax/activation/CommandMap.class SHA1-Digest: shlnOhsM3rvKxwBNt5bBy6Z550c=
Name: javax/activation/MimeTypeParseException.class SHA1-Digest: uxV3qLHRu5JTOFrHnJXm13AO+0M=
Name: javax/activation/DataHandler.class SHA1-Digest: 9ueMkf2LOQO706JazRAeOZ+L2Eo=
Name: javax/activation/SecuritySupport12$2.class SHA1-Digest: 7gljiWPdXVdl4MFwa7Y0QYy9sxM=
Name: javax/activation/MimeType.class SHA1-Digest: JdIXzJFjK4hSwodWVaxE2CpK4Lk=
Name: javax/activation/FileDataSource.class SHA1-Digest: NinT1KJWqpl6RFJGz0QKyWTXxrc=
Name: com/sun/activation/registries/MailcapParseException.class SHA1-Digest: je7BwM327P5pb4asLCB74OOm6h0=
Name: javax/activation/ActivationDataFlavor.class SHA1-Digest: 2GgoZECWpZ79tTYE8AZYgzwMSTY=
Name: javax/activation/MimetypesFileTypeMap.class SHA1-Digest: SBVy1zEsibhu302G2b8lgbNfg2k=
Name: com/sun/activation/viewers/ImageViewer.class SHA1-Digest: gEg0GCvDjyJ0wogJ+Yqs5pkgMe8=
Name: javax/activation/SecuritySupport.class SHA1-Digest: AyfISvmRrTO6f4dj59Snyelc6Ck=
Name: javax/activation/DataSourceDataContentHandler.class SHA1-Digest: YioWWrfLNtVjS7sPDORm1VCljO8=
Name: com/sun/activation/registries/MimeTypeFile.class SHA1-Digest: o3xR9NwzCphDNomc9i79cx/4rUo=
Name: javax/activation/SecuritySupport12$1.class SHA1-Digest: LM3BWLOz1fNRnw2w8LxwA/Kijr4=`
When I run it now, I get a ClassNotFoundException:
Error: Could not find or load main class lllllllllllllllClass-Path: . Caused by: java.lang.ClassNotFoundException: lllllllllllllllClass-Path: .
The Main Class appears to be the lllllllllllllll.class and not the Main345346. Is that possible? Or should somwhere be a Main345346.class file?
@superblaubeere27 Found the Error:
In the Mainfest it wrote:
Main-Class: lllllllllllllllClass-Path: .
instead of:
Main-Class: lllllllllllllll
Class-Path: .
When I run it now I get this problem:
java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at lllllllllllllll.main(Unknown Source) Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: fxGui.Gui at javafx.graphics/javafx.application.Application.launch(Application.java:304) at fxGui.Gui.main(Unknown Source) ... 5 more Caused by: java.lang.ClassNotFoundException: fxGui.Gui at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:415) at javafx.graphics/javafx.application.Application.launch(Application.java:292) ... 6 more
The fx.Gui ist the Class where I start everything. I need to run this class to start the program. But when obfuscated it should be renamed right? Or do I have to pick this as my main-class when im in the obfuscator gui?