mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-140208 java.lang.NoSuchMethodError: org.eclipse.aether.RepositorySystem.newResolutionRepositories(Lorg/eclipse/aether/RepositorySystemSession;Ljava/util/List;)Ljava/util/List;
This commit is contained in:
+2
@@ -26,6 +26,8 @@ import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public interface MavenServerEmbedder extends Remote {
|
||||
String MAVEN_EMBEDDER_VERSION = "idea.maven.embedder.version";
|
||||
|
||||
void customize(@Nullable MavenWorkspaceMap workspaceMap,
|
||||
boolean failOnUnresolvedDependency,
|
||||
@NotNull MavenServerConsole console,
|
||||
|
||||
+7
@@ -19,6 +19,7 @@ import org.apache.log4j.BasicConfigurator;
|
||||
import org.apache.log4j.Level;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.maven.execution.MavenExecutionRequest;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.File;
|
||||
import java.rmi.RemoteException;
|
||||
@@ -32,11 +33,17 @@ import java.util.List;
|
||||
public abstract class Maven3ServerEmbedder extends MavenRemoteObject implements MavenServerEmbedder {
|
||||
|
||||
public final static boolean USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING = System.getProperty("idea.maven3.use.compat.resolver") != null;
|
||||
private final static String MAVEN_VERSION = System.getProperty(MAVEN_EMBEDDER_VERSION);
|
||||
|
||||
public Maven3ServerEmbedder(MavenServerSettings settings) {
|
||||
initLog4J(settings);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public String getMavenVersion() {
|
||||
return MAVEN_VERSION;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked"})
|
||||
public abstract <T> T getComponent(Class<T> clazz, String roleHint);
|
||||
|
||||
|
||||
+5
-1
@@ -17,6 +17,7 @@ package org.jetbrains.idea.maven.server;
|
||||
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.ReflectionUtil;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import gnu.trove.THashMap;
|
||||
@@ -905,7 +906,10 @@ public class Maven32ServerEmbedderImpl extends Maven3ServerEmbedder {
|
||||
RemoteException,
|
||||
org.eclipse.aether.resolution.ArtifactResolutionException {
|
||||
|
||||
if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING) {
|
||||
final String mavenVersion = getMavenVersion();
|
||||
// org.eclipse.aether.RepositorySystem.newResolutionRepositories() method doesn't exist in aether-api-0.9.0.M2.jar used before maven 3.2.5
|
||||
// see https://youtrack.jetbrains.com/issue/IDEA-140208 for details
|
||||
if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING || StringUtil.compareVersionNumbers(mavenVersion, "3.2.5") < 0) {
|
||||
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
|
||||
request.setRemoteRepositories(repos);
|
||||
try {
|
||||
|
||||
@@ -288,6 +288,7 @@ public class MavenServerManager extends RemoteObjectWrapper<MavenServer> impleme
|
||||
}
|
||||
|
||||
final String currentMavenVersion = forceMaven2 ? "2.2.1" : getCurrentMavenVersion();
|
||||
params.getVMParametersList().addProperty(MavenServerEmbedder.MAVEN_EMBEDDER_VERSION, currentMavenVersion);
|
||||
String version = JdkUtil.getJdkMainAttribute(jdk, Attributes.Name.IMPLEMENTATION_VERSION);
|
||||
if (StringUtil.compareVersionNumbers(currentMavenVersion, "3.3.1") >= 0
|
||||
&& StringUtil.compareVersionNumbers(version, "1.7") < 0) {
|
||||
|
||||
Reference in New Issue
Block a user