java—使用maven pom.xml文件包含configurableapplicationcontext类的单个兼容版本

pcww981p  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(289)

我有一个在intellij中使用maven构建配置的项目。我不断得到以下错误:
该方法的类org.springframework.context.configurableapplicationcontext可从以下位置获得:

jar:file:/C:/Users/tlmitch/.m2/repository/org/springframework/spring-context/5.2.8.RELEASE/spring-context-5.2.8.RELEASE.jar!/org/springframework/context/ConfigurableApplicationContext.class

The class hierarchy was loaded from the following locations:

org.springframework.context.ConfigurableApplicationContext: file:/C:/Users/tlmitch/.m2/repository/org/springframework/spring-context/5.2.8.RELEASE/spring-context-5.2.8.RELEASE.jar

Action:

Correct the classpath of your application so that it contains a single, compatible version of org.springframework.context.ConfigurableApplicationContext

如果我执行cntrl-shift-n并查找类configurableapplicationcontext,它会返回一个包含8个示例的列表,其中该类存在。
从我所做的挖掘来看,似乎我应该在pom.xml文件中查找spring上下文的artifactid,然后放入排除块,排除除一个引用之外的所有引用。
问题是,我在pom.xml文件中找不到与重复引用对应的artifactId。如果我开始随意排除一些东西,我会遇到比一开始更多的麻烦。
下面是该类的多个示例的快照:
我附加了pom.xml文件。
如果有人能给我指出正确的方向。非常感谢;在这方面进展很困难。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>gov.sandia.sfiapp</groupId>
    <artifactId>SFIApplication</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SFIApplication</name>

  <properties>
    <appNameShort>SFIApplication</appNameShort>
    <build.number>${maven.build.timestamp}</build.number>
    <java.version>11.0</java.version>
    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
    <clm.serverUrl>https://do.sandia.gov/seis-repo/iq </clm.serverUrl>
    <clm.applicationId>${project.artifactId}</clm.applicationId>
    <clm.additionalScopes>provided, system</clm.additionalScopes>
    <clm.stage>build</clm.stage>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Greenwich.RC2</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>

    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>5.4.18.Final</version>
      <exclusions>
        <exclusion>
          <groupId>org.dom4j</groupId>
          <artifactId>dom4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>6.1.5.Final</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <version>2.4.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.objenesis</groupId>
          <artifactId>objenesis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
      <version>2.4.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.yaml</groupId>
          <artifactId>snakeyaml</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>2.4.0</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-vault-config</artifactId>

      <exclusions>
        <exclusion>
          <artifactId>bcprov-jdk15on</artifactId>
          <groupId>org.bouncycastle</groupId>
        </exclusion>
      </exclusions>

    </dependency>

    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcprov-jdk15on</artifactId>
      <version>1.66</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-consul-config</artifactId>

    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-vault-config-consul</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-core -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>5.4.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-config -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-config</artifactId>
      <version>5.4.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
      <version>5.3.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot</artifactId>
      <version>2.4.0</version>
    </dependency>

    <dependency>
      <groupId>gov.sandia.ideas</groupId>
      <artifactId>core</artifactId>
      <version>1.8.12</version>
      <exclusions>
        <exclusion>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>gov.sandia.ideas</groupId>
      <artifactId>ideas-spring-boot-starter</artifactId>
      <version>4.1.1</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.security</groupId>
          <artifactId>spring-security-web</artifactId>
        </exclusion>
        <exclusion>
          <groupId>gov.sandia.ideas</groupId>
          <artifactId>loggingClient</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>dom4j</artifactId>
          <groupId>dom4j</groupId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework.data</groupId>
          <artifactId>spring-data-mongodb</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.mongodb</groupId>
          <artifactId>bson</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-context</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.yaml</groupId>
      <artifactId>snakeyaml</artifactId>
      <version>1.26</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-gateway-mvc</artifactId>
      <version>2.2.1.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.4</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <repositories>
    <repository>
      <id>sandia.nexusoss.releases</id>
      <name>Sandia LAPS Nexus releases</name>
      <url>https://do.sandia.gov/laps3-repo/repository/maven-laps-pss-releases/</url>
    </repository>
    <repository>
      <id>sandia.nexusoss.repo</id>
      <name>Sandia LAPS Nexus</name>
      <url>https://do.sandia.gov/laps3-repo/repository/maven-public/</url>
    </repository>
    <repository>
      <id>sandia.nexusoss.thirdparty</id>
      <name>Sandia Corporate Nexus Repo</name>
      <url>https://do.sandia.gov/laps3-repo/repository/maven-thirdparty</url>
    </repository>

    <repository>
      <id>sandia.nexusoss.repo.ideas.public</id>
      <name>Sandia IDEAS Nexus public</name>
      <url>https://do.sandia.gov/ideas-repo/repository/ideas-public</url>
    </repository>
    <repository>
      <id>sandia.nexusoss.repo.ideas.releases</id>
      <name>Sandia IDEAS Nexus releases</name>
      <url>https://do.sandia.gov/ideas-repo/repository/ideas-releases</url>
    </repository>
    <repository>
      <id>sandia.nexusoss.repo.ideas.snapshot</id>
      <name>Sandia IDEAS Nexus snapshot</name>
      <url>https://do.sandia.gov/ideas-repo/repository/ideas-snapshots</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>sandia.nexusoss.releases</id>
      <name>Sandia LAPS Nexus releases</name>
      <url>https://do.sandia.gov/laps3-repo/repository/maven-laps-pss-releases/</url>
    </pluginRepository>
    <pluginRepository>
      <id>sandia.nexusoss.repo</id>
      <name>Sandia LAPS Nexus</name>
      <url>https://do.sandia.gov/laps3-repo/repository/maven-public/</url>
    </pluginRepository>
  </pluginRepositories>
  <distributionManagement>
    <repository>
      <id>sandia.nexusoss.repo</id>
      <name>Internal Release Repository</name>
      <url>https://do.sandia.gov/laps3-repo/repository/maven-laps-pss-releases/</url>
    </repository>
    <snapshotRepository>
      <id>sandia.nexusoss.repo</id>
      <name>Internal Release Repository</name>
      <url>https://do.sandia.gov/laps3-repo/repository/maven-laps-pss-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>com.sonatype.clm</groupId>
        <artifactId>clm-maven-plugin</artifactId>
        <version>2.16.0-01</version>
        <executions>
          <execution>
            <goals>
              <goal>index</goal>
              <goal>attach</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          <arguments>-Dbuild.number=${build.number}</arguments>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.4.0</version>
        <executions>
          <execution>
            <goals>
              <goal>build-info</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>4.0.0</version>
        <executions>
          <execution>
            <id>get-the-git-infos</id>
            <goals>
              <goal>revision</goal>
            </goals>
            <phase>initialize</phase>
          </execution>
        </executions>
        <configuration>
          <generateGitPropertiesFile>true</generateGitPropertiesFile>
          <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
          <includeOnlyProperties>
            <includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty>
            <includeOnlyProperty>^git.commit.time$</includeOnlyProperty>
            <includeOnlyProperty>^git.branch$</includeOnlyProperty>
          </includeOnlyProperties>
          <commitIdGenerationMode>full</commitIdGenerationMode>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <release>11</release>
          <compilerArguments>
            <endorseddirs>${endorsed.dir}</endorseddirs>
          </compilerArguments>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.2</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>${endorsed.dir}</outputDirectory>
              <silent>true</silent>
              <artifactItems>
                <artifactItem>
                  <groupId>javax</groupId>
                  <artifactId>javaee-endorsed-api</artifactId>
                  <version>7.0</version>
                  <type>jar</type>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>

    </plugins>
  </build>

  <profiles>
    <!-- LOCAL ENVIRONMENT PROFILE -->
    <profile>
      <id>local</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <serverEnv>local</serverEnv>
        <loggingEnv>local</loggingEnv>
        <clm.serverUrl>https://do.sandia.gov/seis-repo/iq</clm.serverUrl>
        <clm.applicationId>${project.artifactId}</clm.applicationId>
        <clm.additionalScopes>provided, system</clm.additionalScopes>
        <clm.stage>build</clm.stage>
        <build.number>local</build.number>
      </properties>
      <build>
        <plugins>
          <plugin>
            <!-- This references the JaCoCo configuration in pluginManagement -->
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.6</version>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version> <!-- later versions can't find a new method call to test -->
            <configuration>
              <systemPropertyVariables>
                <wiremock.port>${wiremock.port}</wiremock.port>
              </systemPropertyVariables>
              <argLine>${surefireArgLine}</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- END LOCAL ENVIRONMENT PROFILE -->
    <!-- START CI PROFILE - TBD -->
    <profile>
      <id>ci</id>
      <properties>
        <test.config.location>${user.home}/LAPS/llc-mns-gateway-it.properties</test.config.location> <!-- TBD -->
        <build.number>ci</build.number>
      </properties>
      <build>
        <plugins>
          <plugin>
            <!-- This references the JaCoCo configuration in pluginManagement -->
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>${surefireArgLine}</argLine>
              <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- END CI PROFILE -->
    <!-- START IT PROFILE -->
    <profile>
      <id>it</id>
      <properties>
        <build.number>it</build.number>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
              <systemPropertyVariables>
                <wiremock.port>${wiremock.port}</wiremock.port>
                <spring.profiles.active>it</spring.profiles.active>
              </systemPropertyVariables>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- END IT PROFILE -->
  </profiles>

</project>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题