当我在android studio中运行我的应用程序时,消息错误显示我的错误:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:org / glassfish / jersey / client / ClientProperties.class
我不知道如何解决这个错误。
我认为此错误取决于此代码:
import com.github.irobson.jgenderize.model.NameGender;
import java.io.Serializable;
import java.util.List;
import java.util.Locale;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
public class DefaultGenderize implements Genderize, Serializable {
private final Client client = ClientBuilder.newClient();
private static final String GENDERIZE_IO_API_URL = "https://api.genderize.io/";
public NameGender getGender(String name, Locale locale) {
WebTarget target = client.target(GENDERIZE_IO_API_UR`enter code here`L).queryParam("name", name);
if (locale != null) {
target = target.queryParam("country_id", locale.getCountry());
target = target.queryParam("language_id", locale.getLanguage());
}
return target.request(MediaType.APPLICATION_JSON_TYPE).get(NameGender.class);
}
public List<NameGender> getGenders(String[] names, Locale locale) {
GenericType<List<NameGender>> genericType = new GenericType<List<NameGender>>() {
};
WebTarget target = client.target(GENDERIZE_IO_API_URL);
for (int i = 0; i < names.length; i++) {
target = target.queryParam(String.format("name[%d]", i), names[i]);
}
if (locale != null) {
target = target.queryParam("country_id", locale.getCountry());
target = target.queryParam("language_id", locale.getLanguage());
}
return target.request(MediaType.APPLICATION_JSON_TYPE).get(genericType);
}
public NameGender getGender(String name) {
return getGender(name, null);
}
public List<NameGender> getGenders(String... names) {
return getGenders(names, null);
}
}
或从某些图书馆。
答案 0 :(得分:1)
com.android.build.api.transform.TransformException: java.util.zip.ZipException:重复条目: 组织/的glassfish /球衣/客户端/ ClientProperties.class
您有多个appcompat-v7
,这就是为什么会遇到问题。
<强>唐&#39;吨强>
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:appcompat-v7:23.0.0'
<强>不要强>
compile 'com.android.support:appcompat-v7:21.0.3'
修改强>
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
// compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'javax.ws.rs:javax.ws.rs-api:2.0.1'
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:design:23.0.0'
// compile 'javax.websocket:javax.websocket-all:1.1'
// compile files('libs/hk2-api-2.2.0-b21.jar')
compile 'com.android.support:multidex:1.0.0'
// compile 'org.glassfish.jersey:project:2.22.1'
// compile 'org.glassfish.jersey.core:jersey-client:2.0-m04'
compile files('libs/jersey-client-2.19.jar')
}
答案 1 :(得分:0)
我可以看到两个&#34;支持v7&#34;依赖。删除其中一个。
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:appcompat-v7:23.0.0'
结果
dependencies {
testCompile 'junit:junit:4.12'
compile 'javax.ws.rs:javax.ws.rs-api:2.0.1'
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:design:23.0.0'
compile 'com.android.support:multidex:1.0.0'
compile files('libs/jersey-client-2.19.jar')
}