programing

어떤 Java Maven 버전을 사용하여 실행하는지 확인하고 변경하려면 어떻게 해야 합니까?

goodjava 2022. 11. 30. 21:14

어떤 Java Maven 버전을 사용하여 실행하는지 확인하고 변경하려면 어떻게 해야 합니까?

Maven 빌드를 실행할 때 팀원 중 한 명이 실행할 때 종속 플러그인에서 NoSuchMethodError가 발생합니다.하지만 우리가 달리면java -version이 명령어는 Java 1.6.0_26을 참조해 주세요.이 오류는 Maven이 Java 5를 사용하고 있다고 소리치고 있는 것 같습니다.

Maven이 사용하고 있는 Java 버전을 어떻게 파악하고 변경할 수 있습니까?

잠재적으로 중요한 3가지 주의사항:

  1. 이 작업은 Eclipse 플러그인을 사용하지 않고 명령줄에서 실행됩니다.
  2. JAVA_HOME은 Java 1.6 JDK로 설정되어 있습니다.
  3. Maven 2.2.1 사용

mvn -version어떤 Java를 사용하고 있는지 출력합니다.JAVA_의 경우HOME은 유효한 JDK 디렉토리로 설정되어 있고 Maven은 다른 것을 사용하고 있습니다.그러면 누군가가 Maven의 기동 방법을 조작했을 가능성이 높습니다.

를 설정할 필요가 있습니다.maven-compiler-plugin1.6을 사용하다source그리고.target파라미터(디폴트로는 1.5)입니다.

이 작업은 프로젝트의 부모 폼에서 가장 잘 수행되었습니다.<pluginManagment>section (단, 항상 개별 프로젝트에 따라 설정할 수 있습니다.)

  <build>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.3.2</version>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>

          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

mvn -version는 Maven이 사용하고 있는 컴파일러를 나타냅니다.따라서 POM에 사용되는 버전의 덮어쓰기 값이 지정되어 있지 않은 한 질문에 대한 답변을 얻을 수 있습니다.

다음으로 오버라이드를 지정하는 가장 쉬운 방법을 나타냅니다.pom.xml:

<properties>
    <maven.compiler.target>1.9</maven.compiler.target>
    <maven.compiler.source>1.9</maven.compiler.source>
</properties>

또는 보다 명확하게 지정할 수도 있습니다.이 경우,<source>그리고.<target>플러그인과 관련된 값입니다.

여기에서는, 이러한 옵션에 대해 설명합니다.

POM에 다음과 같은 기능이 있는 경우<parent>그것도 체크할 필요가 있습니다(적극적으로).

주의: 시기source그리고.target이 값을 지정하면 명령줄 옵션으로 컴파일러에 전달됩니다.이 기능을 사용하면 컴파일러의 공칭값보다 이전 Java 버전을 컴파일하거나 실행할 수 있습니다.

언급URL : https://stackoverflow.com/questions/7032965/how-do-i-figure-out-and-change-which-version-of-java-maven-is-using-to-execute