Java 실행 시 아래 와 같은 예외가 발생 할 경우 Java Version 을 맞춰 줘야 한다.

 

Exception in thread "main" java.lang.UnsupportedClassVersionError: httpsclient : Unsupported major.minor version 51.0
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
 at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: httpsclient. Program will exit.

 

버전 예외 표

 version

exception 

 1.7

 51.0

 1.6

 50.0

 1.5

 49.0

 

해결 방법

- Linux

 

whitelife@whitelife:~/work_java/myapp$ sudo update-alternatives --config java
[sudo] password for whitelife:
대체 항목 java에 대해 (/usr/bin/java 제공) 2개 선택이 있습니다.

  선택       경로                                          우선순  상태
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java          1063      자동 모드
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      수동 모드
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1063      수동 모드

기본 사항[*]을 사용하려면 엔터, 다른 것을 사용하려면 번호를 입력하십시오: 1
update-alternatives: /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 사용해서 수동 모드에서 /usr/bin/java (java) 제공. 

 

위 표에 맞는 버전으로 적용 한 후 다시 실행 하면 해결 된다.

 

'Java' 카테고리의 다른 글

Java Console 게시판 만들기 - 3  (0) 2013.11.12
Java Console 게시판 만들기 - 2  (0) 2013.11.11
Java Console 게시판 만들기  (1) 2013.11.10
JDBC로 Query 작성하기 (Mysql)  (0) 2012.12.19
Date 함수 관련  (0) 2012.12.03


Java로 유용하게 쓸수있는 Date 함수를 정리 해보았다. 아래의 코드를 참고.


소스



package kr.whitelife.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

/**
 * <p>
 *     2012-12-03 날짜 관련 유틸
 * </p>
 *
 * @author whitelife
 * @see Calendar
 * @see Date
 * @see SimpleDateFormat
 * @see String
 * @see ParseException
 * @since 1.6
 * @version 0.1.1
 */
public class DateUtil {
  
    /**
     * DateFormat 생성
     * @param pattern
     * @return
     */
    private static SimpleDateFormat createSimpleDateFormat(String pattern) {
        if (pattern == null) {
            return new SimpleDateFormat();
        } else {
            return new SimpleDateFormat(pattern, Locale.KOREAN);
        }
    }
   
    /**
     * Calender 생성
     * @param date
     * @return
     */
    private static Calendar createCalender(Date date) {
        Calendar calendar = Calendar.getInstance(Locale.KOREAN);
        calendar.setTime(date);
       
        return calendar;
    }
  
    /**
     * 현재 날짜 문자열 리턴
     * @param pattern
     * @return
     */
    public static String nowDateToString(String pattern) {
        return createSimpleDateFormat(pattern).format(new Date());
    }
  
    /**
     * 날짜 문자열 리턴
     * @param pattern
     * @param date
     * @return
     */
    public static String dateToString(String pattern, Date date) {
        return createSimpleDateFormat(pattern).format(date);
    }
  
    /**
     * 현재 날짜 문자열 리턴 [yyyy-MM-dd]
     * @return
     */
    public static String nowDateToBasicString() {
        return createSimpleDateFormat("yyyy-MM-dd").format(new Date());
    }
  
    /**
     * 날짜 문자열 리턴 [yyyy-MM-dd]
     * @param date
     * @return
     */
    public static String dateToBasicString(Date date) {
        return createSimpleDateFormat("yyyy-MM-dd").format(date);
    }
  
    /**
     * 현재 날짜 문자열 리턴 [yyyyMMdd]
     * @return
     */
    public static String nowDateToBasic2String() {
        return createSimpleDateFormat("yyyyMMdd").format(new Date());
    }
  
    /**
     * 날짜 문자열 리턴 [yyyyMMdd]
     * @param date
     * @return
     */
    public static String dateToBasic2String(Date date) {
        return createSimpleDateFormat("yyyyMMdd").format(date);
    }
  
    /**
     * 문자열 입력 후 날짜 객체 리턴
     * @param pattern
     * @param source
     * @return
     */
    public static Date stringToDate(String pattern, String source) {
        try {
            return createSimpleDateFormat(pattern).parse(source);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }
    }
  
    /**
     * 문자열 입력 후 날짜 객체 리턴 [yyyy-MM-dd]
     * @param pattern
     * @param source
     * @return
     */
    public static Date stringToBasicDate(String source) {
        try {
            return createSimpleDateFormat("yyyy-MM-dd").parse(source);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }
    }
  
    /**
     * 문자열 입력 후 날짜 객체 리턴 [yyyyMMdd]
     * @param pattern
     * @param source
     * @return
     */
    public static Date stringToBasic2Date(String source) {
        try {
            return createSimpleDateFormat("yyyyMMdd").parse(source);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }
    }
  
    /**
     * 이전 년도 구하기 [현재 날짜 기준]
     * @param year
     * @return
     */
    public static Date prevYear(int year) {
        return prevYear(year, new Date());
    }
  
    /**
     * 이전 년도 구하기
     * @param year
     * @param date
     * @return
     */
    public static Date prevYear(int year, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.YEAR, year * -1);
      
        return calendar.getTime();
    }
  
    /**
     * 이후 년도 구하기 [현재 날짜 기준]
     * @param year
     * @return
     */
    public static Date nextYear(int year) {
        return nextYear(year, new Date());
    }
  
    /**
     * 이후 년 구하기
     * @param year
     * @param date
     * @return
     */
    public static Date nextYear(int year, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.YEAR, year);
      
        return calendar.getTime();
    }
  
    /**
     * 이전 달 구하기 [현재 날짜 기준]
     * @param month
     * @return
     */
    public static Date prevMonth(int month) {
        return prevMonth(month, new Date());
    }
  
    /**
     * 이전 달 구하기
     * @param month
     * @param date
     * @return
     */
    public static Date prevMonth(int month, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.MONTH, month * -1);
      
        return calendar.getTime();
    }
  
    /**
     * 이후 달 구하기 [현재 날짜 기준]
     * @param month
     * @return
     */
    public static Date nextMonth(int month) {
        return nextMonth(month, new Date());
    }
  
    /**
     * 이후 달 구하기
     * @param month
     * @param date
     * @return
     */
    public static Date nextMonth(int month, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.MONTH, month);
      
        return calendar.getTime();
    }
  
    /**
     * 이전 날짜 구하기 [현재 날짜 기준]
     * @param day
     * @return
     */
    public static Date prevDay(int day) {
        return prevDay(day, new Date());
    }
  
    /**
     * 이전 날짜 구하기
     * @param day
     * @param date
     * @return
     */
    public static Date prevDay(int day, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.DATE, day * -1);
      
        return calendar.getTime();
    }
  
    /**
     * 이후 날짜 구하기 [현재 날짜 기준]
     * @param day
     * @return
     */
    public static Date nextDay(int day) {
        return nextDay(day, new Date());
    }
  
    /**
     * 이후 날짜 구하기
     * @param day
     * @param date
     * @return
     */
    public static Date nextDay(int day, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.DATE, day);
      
        return calendar.getTime();
    }
  
    /**
     * 이전 시 구하기
     * @param hour
     * @param date
     * @return
     */
    public static Date prevHour(int hour, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.HOUR, hour * -1);
      
        return calendar.getTime();
    }
  
    /**
     * 이후 시 구하기
     * @param hour
     * @param date
     * @return
     */
    public static Date nextHour(int hour, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.HOUR, hour);
      
        return calendar.getTime();
    }
  
    /**
     * 이전 분 구하기
     * @param minute
     * @param date
     * @return
     */
    public static Date prevMinute(int minute, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.MINUTE, minute);
      
        return calendar.getTime();
    }
  
    /**
     * 이후 분 구하기
     * @param minute
     * @param date
     * @return
     */
    public static Date nextMinute(int minute, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.MINUTE, minute);
      
        return calendar.getTime();
    }
  
    /**
     * 이전 초 구하기
     * @param second
     * @param date
     * @return
     */
    public static Date prevSecond(int second, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.SECOND, second);
      
        return calendar.getTime();
    }
  
    /**
     * 이후 초 구하기
     * @param second
     * @param date
     * @return
     */
    public static Date nextSecond(int second, Date date) {
        Calendar calendar = createCalender(date);
        calendar.add(Calendar.SECOND, second);
      
        return calendar.getTime();
    }
   
}



사용 방법



public static void main(String[] args) {
    System.out.println(dateToString("yyyy-MM-dd a HH:mm:ss", DateUtil.nextYear(1)));
    System.out.println(DateUtil.nowDateToBasicString());
    System.out.println(DateUtil.nowDateToBasic2String());
}



결과



2013-12-03 오후 16:17:06
2012-12-03
20121203



다른 함수 들도 위와 같은 방법으로 이용 하면 된다.

좋은 의견이나 개선점은 댓글로 부탁 드려요 !!!


+ Recent posts