2014년 3월 20일 목요일

프록시 환경에서 Maven 관련 업데이트 실패


STS (Spring Tool Suite) 를 깔고

Spring Starter Project를 설치하였는데..

계속 Maven 관련해서 오류가 발생하여 pom.xml에 계속 x 표가 보입니다.


Failure to transfer org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2 from http://repo1.maven.org/maven2was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.2 from/to central (http://repo1.maven.org/maven2): No response received after 60000 ExampleProject Unknown Maven Problem

> 말인 즉슨 repository 사이트에서 받아올 파일을 받아오지 못한다는 내용이라서 역시나 네트워크 문제로 판단 되어

구글신님께 빌었더니(?) 아래와 같은 stackoverflow 오류 케이스를 찾아주셨고

http://stackoverflow.com/questions/5074063/maven-error-failure-to-transfer

Maven home에 settings.xml 을 만들고, 거기에 프록시 세팅을 해주면 된다는 사실을 알았습니다.

https://maven.apache.org/settings.html


정리하면


1. Maven Home에 settings.xml 작성

Maven Home 은
Windows : C:\Users\YourUserName\.m2\settings.xml
Linux      : /home/YourUserName/.m2/settings.xml


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies>
    <proxy>
      <id>myproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>1.1.1.1</host>
      <port>8080</port>
      <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts>
    </proxy>
  </proxies>
  <profiles/>
  <activeProfiles/>
</settings>


2. Project Context Menu (right-click over project name) > Run as > Maven clean

위 두 단계를 거치면 해결이 가능합니다.

2014년 3월 19일 수요일

프록시 네트워크 환경에서 자바 네트워크 세팅 방법



보안을 위해 프록시를 사용하는 환경에서 자바를 설치하고 프로그램을 만들던 중,
JAVA 프로그램 상에서 외부 사이트 접속을 시도하면 계속 Connection Timed Out 이 발생하였습니다.

google도 안붙는데 100% 네트워크 문제로 보고 이것저것 시도해봤습니다.

보안프로그램 방화벽
윈도우 방화벽까지 해재 해봤지만 현상은 여전했고..

방화벽 확인 필살기인 '텔넷 80포트 접속 신공'까지 시전해보며 방화벽 뚫린 것은 확인 했습니다.

심지어 브라우저에서도 매우 잘붙었고, 브라우저에 프록시 설정은 잘잡혀있었으며,

시작 > 제어판 > Java > 네트워크 설정에서 브라우저 설정 사용도 잘 잡혀있었습니다.

코드가 잘못된거 아닌가하여 이것저것 다 엎어보기도 했지만 감감 무소식..

슬슬 멘붕이 왔습니다. 너무 오래 쉰건가 하는 자괴감도 들고...

그러던 중 아래 처럼 자바 실행시 프록시 세팅하는 코드를 이용하여

System.setProperty("http.proxyHost", "1.1.1.1");
System.setProperty("http.proxyPort", "8080");

자바를 돌려보니... 되더군요 (이 시점에 멘탈 붕괴)

아아아 무언가의 이유로 자바만 프록시를 못타고 있던 것 이었습니다.

Mother Father Window!!!!!!!!!

결국.. 위 코드를 지우고
시작 > 제어판 > Java > 네트워크 설정 > 프록시 서버 사용 에서 프록시 세팅을 하여

문제 해결하였습니다.


오늘의 삽질 레벨 : 2 Lv