본문 바로가기

자료창고/에러창고

Eclipse Maven 대환장파티.. missing artifact, Central 501 HTTPS Required, Failed to execute goal org.apache.maven.plugins 등등

겪어본 오류

1. pom.xml에서 터져나오는 온갖 missing artifact 오류

2. Failure to transfer org.apache.maven.plugins:maven-compiler plugin:pom:2.5.1 from http://repo.maven.apache.org/maven2,

3. Cannot change version of project facet Dynamic Web Module to 2.4,

4. '<>'operator is not allowed for source level 1.7

등등 자바를 못 읽는 수천개의 java problems들..

5. Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom. Error code 501, HTTPS Required -> [Help 1]

6. Server Tomcat v7.0 Server at localhost failed to start.

이하 생략...

 

 

시도했던 짓

1. .m2 폴더 삭제하고 잘 되는 다른 사람 파일 집어넣기 -> 안됨

2. pom.xml 다른 사람 것 집어넣기 -> 안됨 

3. jdk 다시 설치 -> 안됨

4. maven clean후 다시 install -> 안됨

5. maven update -> 안됨

 

해결책 

처음부터 다시 시작한다는 마음으로 프로젝트 환경설정을 순서대로 다시 세팅 후 pom.xml 제대로 작성하고 업데이트한다. 

핵심은 pom.xml 제대로 작성하는 부분.. 

두더지 잡기처럼 오류 하나 해결하면 다른 오류가 다시 생겨버리는 야단법석이 나길래 구글에 나온 모든 해결책을 짬뽕하여 첨부터 세팅시작... 

 

 

1. 원래 자바 1.7이었던 프로젝트를 자바 버전 1.8로 변경

jdk 파일 공수하기

-> 오라클 홈페이지에서 구하시길..

환경 변수 설정

-> 윈도우 실행앱에서 sysdm.cpl ,3 입력하여 환경변수에 들어가서  JAVA_HOME 변수 내용을 jdk 경로로 설정하고 Path변수에 %JAVA_HOME%\bin 추가한다.

이클립스 window - preferences - java - installed JREs에서 jdk 추가

프로젝트 별 properties 진입 후 Java build path 수정

같은 방식으로 Compiler compliance level도 맞게 변경

 

2. pom.xml 내용 추가 

1)

<properties>에

<maven.compiler.target>1.7</maven.compiler.target> 
<maven.compiler.source>1.7</maven.compiler.source>

<java.version>1.7</java.version>

내용으로 넣기

 

2)

<dependencies> 다음으로 <build> 추가하여 다음 내용 작성.  

<build>
<pluginManagement>
<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-comiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>
</build>

 

3)

<build> 다음에 

<pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <updatePolicy>never</updatePolicy>
            </releases>
        </pluginRepository>
    </pluginRepositories>

추가

 

4)

<pluginRepositories> 다음에 

<repositories>안에 다음 내용 추가 

<repository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>

</repository>

 

4)

정리하여 pom.xml의 큰 구조를 보면

<project>

<modelVersion> ... </modelVersion>

<groupId> ... </groupId>

<artifactId> ... </artifactId>

<version> ... </version>

<packaging> ... </packaging>

<properties> ... </properties> 

<dependencies> ... </dependencies>

<build><pluginManagement> <plugins> ... </plugins></pluginManagement></build>

<pluginRepositories> ... </pluginRepositories>

<repositories> ... </repositories>

</project>

 

 

3.  이클립스 종료하고  .m2/repository 안에 있는 라이브러리 파일 삭제 후 다른 정상 파일로 대체

 

4. maven update 할 것 

 

5. 모든 것을 해결 후 톰캣도 아래 내용으로

Server Tomcat v7.0 Server at localhost failed to start.

야단났길래 삭제하고 다시 설치