Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: The same input jar [C:\Program Files\Java\jdk1.8.0_281\lib\tools.jar] is specified twice. #190

Closed
turnglight opened this issue Sep 16, 2021 · 1 comment
Labels
usage question Related to configuration and usage of Proguard.

Comments

@turnglight
Copy link

turnglight commented Sep 16, 2021

exec: mvn clean compile pacakge -DskipTests=true
error: Error: The same input jar [C:\Program Files\Java\jdk1.8.0_281\lib\tools.jar] is specified twice.
Here is my configuration:

please help me!

<configuration>
					<proguardVersion>6.0.2</proguardVersion>
					<obfuscate>true</obfuscate>
					<attachArtifactClassifier>pg</attachArtifactClassifier>
					<options>
						<option>-target 1.8</option>
						<option>-dontshrink</option>
						<option>-dontoptimize</option>
						<option>-dontskipnonpubliclibraryclasses</option>
						<option>-dontskipnonpubliclibraryclassmembers</option>
						<option>-allowaccessmodification</option>
						<option>-useuniqueclassmembernames</option>
						<option>-adaptclassstrings</option>
						<option>-dontusemixedcaseclassnames</option><option>-keeppackagenames</option>
						<option>-keepparameternames</option>
						<option>-keepattributes
							Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod,LocalVariableTable,LocalVariableTypeTable,MethodParameters
						</option>
						<option>
							-keepclassmembers public class *{void set*(***);*** get*();}
						</option>
						<option>
							-keepclasseswithmembers public class * { public static void main(java.lang.String[]);}
						</option>
						<option>-keepclassmembers enum * { *; }</option>
						<option>-keep class com.sf.lbs.** { *; }</option>
						<option>-dontwarn **</option>
					</options>
					<libs>
						<lib>${java.home}/lib/rt.jar</lib>
						<lib>${java.home}/lib/jsse.jar</lib>
					</libs>

					<inFilter>com/sf/lbs/**</inFilter>
					<injar>classes</injar>
					<injar>${project.build.finalName}.jar</injar>
					<outjar>${project.build.finalName}-pg.jar</outjar>
					<outputDirectory>${project.build.directory}</outputDirectory>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>net.sf.proguard</groupId>
						<artifactId>proguard-base</artifactId>
						<version>6.0.2</version>
						<scope>runtime</scope>
					</dependency>
				</dependencies>
			</plugin>
@mrjameshamilton mrjameshamilton added the usage question Related to configuration and usage of Proguard. label Sep 17, 2021
@mrjameshamilton
Copy link
Collaborator

mrjameshamilton commented Sep 17, 2021

Hi @turnglight !

It looks like you have somehow specified C:\Program Files\Java\jdk1.8.0_281\lib\tools.jar twice but I don't see from this configuration where you specify this jar. It could be a bug in the maven plugin. We don't officially support this maven plugin but I see you have already opened an issue with them - maybe they can shed some light on the problem.

You can also head over to the Guardsquare community where you can get help with your configuration from our team of engineers and skilled community members.

A related issue: you're using an old version of ProGuard. The latest version of ProGuard is 7.1.1 and a beta version supporting Java 17 and Kotlin 1.5 is 7.2.0-beta2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
usage question Related to configuration and usage of Proguard.
Projects
None yet
Development

No branches or pull requests

2 participants