참고: http://stackoverflow.com/questions/22489398/unsupported-major-minor-version-52-0


빌드는 1.8 JDK에서 해놓고 톰캣에 올려서 돌릴때는 1.7 JDK에서 돌린 경우 발생할 수도 있다고하는데
역시나.. ㅜ.ㅜ


OS: ubuntu 14.04

# update-alternatives --config java
대체 항목 java에 대해 (/usr/bin/java 제공) 3개 선택이 있습니다.

  선택       경로                                          우선순� 상태
------------------------------------------------------------
* 0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1072      자동 모드
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      수동 모드
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      수동 모드
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1072      수동 모드



# vi /etc/default/tomcat7

JAVA_HOME=/usr/lib/jvm/java-8-oracle


# service tomcat7 restart


 이제 정상 동작..


MAC에서 brew install maven 으로 설치한 이후 

mvn 명령을 수행했더니 에러가 계속 발생.


org.codehaus.plexus.classworlds.launcher.launcher을(를) 찾거나 로드할 수 없습니다



원인은 ~/.bash_profile에 설정한 M2_HOME이 잘 못되었다.

brew로 설치한 것의 버전은 3.x.x이므로 M3_HOME으로 설정해야함.


export M3_HOME=/usr/local/Cellar/maven/3.3.9

export M3=$M3_HOME/bin


설정한 이후로 정상 동작함.

아무래도 환경변수 설정은 버전에 의존하지 않게 해야할 것 같다.

나중에 4.x.x 버전나오면 같은 오류 반복될지도 모르니..

오류 메시지

unreported exception java.io.IOException; must be caught or declared to be thrown



참고: http://stackoverflow.com/questions/8707906/unreported-exception-java-io-ioexception-must-be-caught-or-declared-to-be-throw



함수 선언할 때 public void ReadBuffer(String buff) throws IOException {


throws를 추가한 경우에는 이를 호출하는 호출부에서 

try & catch로 에러를 받아줘야 함.

출처 : http://stackoverflow.com/questions/2390063/what-does-public-static-void-mean-in-java

  • public - it can be called from anywhere 아무데서나 호출할 수 있다.
  • static - it doesn't have any object state, so you can call it without instantiating an object
                객체 생성 없이 변수나 함수를 사용 할 수 있다.


static이 조금 난해해보여 더 찾아봄.

출처 : http://rockdrumy.tistory.com/214

 

JAVA

1. 클래스안의 멤버변수가 모든 인스턴스에 공통으로 사용하는 경우

   -> 클래스 안의 전역변수..라고 이해하면 되려나..

2. static이 붙은 클래스변수(멤버변수)는 인스턴스 생성 없이 사용 가능

   -> 클래스가 메모리에 올라갈 때 이미 생성된다... c의 지역변수랑 유사해보임....

3. static이 붙은 메서드(함수)에서는 인스턴스 변수를 사용할 수 없음

   -> static이 붙은 메서드에서는 class의 전역변수를 사용 못함     <-- C와 다름.

4. 메서드 내에서 인스턴스 변수를 사용하지 않는다면 static 붙이는 것을 고려

   -> 인스턴스 변수를 사용하는지 안 하는지 명확히 구분하기 위해 붙일지 말지 선택해야함.


C에서의 static과 유사해보이기도 함.

- 함수 안 :  함수 안에서만 사용 가능하고, 1회 초기화 후 프로세스가 살아있는 동안 변경된 값이 유지됨.

- 함수 밖 : 다른 c 파일에서 호출하거나 사용할 수 없음.

출처: http://stackoverflow.com/questions/7065402/how-to-add-external-library-in-intellij-idea


1. 해당 라이브러리 다운로드

https://code.google.com/p/guava-libraries/


2. 작업중인 경로에 libs 폴더 생성 후 다운 받은 jar 파일을 둠


3. Intellij에서 컴파일을 하거나 refresh 수행 하여 좌측에 libs가 보이는지 확인


4. 다운 받았던 파일이 보이면 마우스 우클릭, Add as Library선택

   시험 이후에는 추가했던 라이브러리를 global library로 변경함.


5. 정상적으로 컴파일 및 run 확인

import java.util.*;
import com.google.common.collect.*;
import static java.lang.System.*;
static void test3Collection() {

List<Integer> numbers = Arrays.asList(1, 2, 3);

List<Integer> collector;
collector = ImmutableList.<Integer>builder()
.add(10)
.addAll(numbers)
.build();

System.out.println(collector.size()); // 4
}


+ Recent posts