반응형

No grammar constraints (DTD or XML schema) detected for the document.

신경쓰이게 xml 파일에 warnning 이 나오는데 여간 신경 쓰이는 것이 아니었다.

처음 프로그램 배울 때 작은 warnning 이라도 무시 말라고 했건만...... 쩝

검색과 지식의 양을 늘리는 길만이 살길인것 같다.

 

[Eclipse] Galileo 버전 기준으로

Window - Preoferences - XML - XML Files - Valodation 에서 indicate when no grammar is specified 값을

Warnning 에서 Ignore 로 변경 한다. 

 

그러면 눈에 가시였던 줄과 warnning 이 사라진다.

 

[추가]

[펌] 엄지 사랑님이 작성

 

만약 아래와 같이 했는데도 적용이 되지 않는다면 Project -> Clean 을 통해 해당 프로젝트를 리빌드한다.

 

참고사이트
http://www-01.ibm.com/support/docview.wss?rs=2044&context=SSCM72&dc=DB560&dc=DB520&uid=swg21330232&loc=en_US&cs=UTF-8&lang=en&rss=ct2044rational

 

<script src="http://fordev.tistory.com/plugin/CallBack_bootstrapper?&src=http://cfs.tistory.com/blog/plugins/CallBack/callback&id=35&callbackId=fordevtistorycom353310&destDocId=callbacknestfordevtistorycom353310&host=http://fordev.tistory.com&float=left&random=395"></script>

 

Posted by 1010
반응형

Maven project 를 import 하였을 때 pom.xml 파일에서 다음과 같은 validation error 가 표시될 경우.(실제로 pom.xml 파일이 문제가 없는데도 불구하고)


다음의 플러그인을 설치해 주고 proejct rebuild(clean) 해주면 error mark 가 사라진다.
https://repository.sonatype.org/content/repositories/forge-sites/m2eclipse-tycho/0.6.0/N/0.6.0.201112050222/





Posted by 1010
반응형

출처 : http://bryan7.tistory.com/163

 

"쉽게 따라하는 자바웹개발" project error/warning 없애기.

도서명: 쉽게 따라하는 자바웹개발

출판사: 인사이트

지은이: 백기선

출판일: 2012년 11월 30일


1.3.2 프로젝트 다운로드 (10 page)

http://whiteship.me/book/legacy-sample.zip   (파일 다운로드)

https://github.com/keesun/legacy-sample    ( STS 에서 Import > Git )


개발툴: STS(Spring Tool Suite) Version: 3.4.0.RELEASE      Build Id: 201310051818


나는 STS 의 Import 메뉴를 이용해 github 에서 import  했다.


프로젝트를 빌드하면서 나는 대부분의 에러는 Maven 관련 에러였다.

인터넷을 통해 라이브러리(jar파일)을 가져오면서 완전히 다 못 가져온다던지, 파일 크기는 맞아도 jar 파일의 압축을 풀어보면 헤더가 손상되었다는 메시지가 출력되는 경우 등. - SHA-1 의 checksum 을 계산해서 ~.sha1 파일과 비교해보면 jar 파일이 온전한지를 확인할 수 있다.


이클립스(혹은 STS)에서 Problems View 에서 jar 파일명이 나오는 경우는 어느 jar 파일이 문제인지 쉽게 알 수 있지만, class 파일이 없다고 나오는 경우도 있고, - 이런 경우는 인터넷에서 검색해서 그 class 파일이 어느 jar 에 속해 있는지 알아야 한다.

어떤 경우는 Problems View 에는 error 가 없어도 실행해보면 에러가 나는 경우도 있다. 그러면 로그 파일을 보고 인터넷 검색을 해봐서 어느 클래스에서 문제가 있는지 확인해보고, 그 클래스가 속한 jar 파일이 온전한지를 체크해봐야 한다.


jar 파일의 checksum 이 맞지 않는다면 그 jar 가 속한 폴더를 통째로 지우고, 이클립스에서 clean 하고 다시 빌드를 한다.


나는 우리집 인터넷이 네트워크가 불안하다고는 생각하지 않고 있었는데, - 파일을 다운로드 받으면서 깨지거나 그런 경우는 없었다. - maven 을 통해 라이브러리를 가져오는 것이 왜 이렇게 불안한 것일까? maven 에서 다운로드 받는 로직을 개선해서 다운로드 받은 파일의 유효성을 체크해야 되는 것이 아닐까?


내 컴퓨터 내의 maven repository 내의 모든 jar 파일의 checksum 을 계산해서 맞지 않는 폴더를 출력해주는 스크립트라도 만들어 놔야 할 듯하다.


Spring 이나 Maven 을 처음 접해보는 사람이라면 책의 처음 예제에서 이런 많은 에러가 난다면 아마 4분의 3 은 포기하지 않을까? 좋은 책인데, Maven 관련해서 이렇게 많은 문제가 있는지 나도 실제로 돌려보고야 알았다.

봄싹 Google Groups 에 올라온, 이 책과 관련된 수많은 질문은 대부분 Maven 때문이었다.

저자인 백기선 님도 다음에는 자신의 컴퓨터의 maven repository 를 통째로 압축해서 CD 에 담아서 배포하겠다고 할 정도였다.


Error - Can not find the tag library descriptor for "http://www.springframework.org/tags/form"



Can not find the tag library descriptor for "http://www.springframework.org/tags/form"


<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>


이 에러는 치명적인 것처럼 보이지만, 실행에는 문제가 없다.

이 에러는 소스의 문제가 아니라 이클립스의 버그인 것 같다.

왜냐하면 spring의 tag library 가 spring-webmvc-3.0.5.RELEASE.jar 파일에 있는데, 이 파일을 project 의 WEB-INF/lib 폴더에 넣으면 에러가 사라지기 때문이다.




이 jar 파일은 Java Build Path 에서 Libraries 탭에 보면 Maven Dependencies 에 속해 있다.
그러면 이클립스에서 자동으로 인식해서 tag library를 찾아야 하는데, 꼭 WEB-INF/lib 에 있어야지만 된다니...


P.S.

모든 에러를 해결하고 나서 Tomcat 7 서버를 실행도 시켜본 후, /WEB-INF/lib 에서 spring-webmvc-3.0.5.RELEASE.jar 파일을 삭제하고 나서 clean 하고 다시 빌드해도 

Can not find the tag library descriptor for "http://www.springframework.org/tags/form"

라는 에러가 발생하지 않는다.

웹 서버가 실행되면서 Maven의 라이브러리가 /WEB/lib 폴더로 export 된 것으로 이클립스에서 인식한 것일까?



Error - Referenced file contains errors (http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd)



이 에러는 저자가 약간의 실수를 한듯 하다.

web.xml 파일에서 xml schema 정의한 부분이 좀 잘못 되었다.

그러나 web.xml 의 이런 XML 정의와 관련된 에러는 실행에는 문제가 없다.


이 에러의 해결책은 2가지다. 


<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

version="2.5"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">


이렇게 되어 있는 부분을 다음과 같이 수정한다.


<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

version="2.4"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


아니면 다음과 같이 수정한다.


<web-app version="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


version 을 2.5 로 하려면 j2ee 로 되어 있는 부분을 javaee 로 수정하면 된다.


[출처] http://stackoverflow.com/questions/13437569/what-does-this-web-xml-error-mean


web-app_2_5.xsd 파일을 다운로드 받아보면 상단에


<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"

   targetNamespace="http://java.sun.com/xml/ns/javaee"

   xmlns:javaee="http://java.sun.com/xml/ns/javaee"

   xmlns:xsd="http://www.w3.org/2001/XMLSchema"

   elementFormDefault="qualified"

   attributeFormDefault="unqualified"

   version="2.5">


이렇게 되어 있다.


참고로 Tomcat 7 은 Servlet 3.0 까지 지원하고, Tomcat 6 는 Servlet 2.5 까지 지원, Tomcat 5.5 는 Servlet 2.4 버전까지 지원한다고 한다. [출처] http://stackoverflow.com/questions/8400301/cout-unknown-tag


[참고] 서블릿 버전별 DTD - http://antop.tistory.com/145



Warning - Unknown tag (Spring Custom Tag 를 인식못하고 warning 이 나는 경우)




별로 대단한 것은 아니다. 단순히 무시해도 되는 Warning 이지만, 이 warning 을 없애려면


web.xml 에서 <welcome-file-list> 태그 뒤에


<jsp-config>

<taglib>

<taglib-uri>http://www.springframework.org/tags/form</taglib-uri>

<taglib-location>/WEB-INF/tlds/spring-form.tld</taglib-location>

</taglib>

</jsp-config>


를 갖다붙인다.


spring-form.tld 파일은 

C:\Users\{사용자명}\.m2\repository\org\springframework\spring-webmvc\3.0.5.RELEASE\spring-webmvc-3.0.5.RELEASE.jar 파일의 압축을 풀어보면 META-INF 폴더 안에 들어있다.


spring-form.tld 파일을 복사해서 내 프로젝트의 WEB-INF 밑에 web.xml 에서 정의된 경로에 갖다 놓지 않으면 warning 은 없어지지만 실행 시 에러가 나서 해당 페이지가 뜨지 않는다.


에러메시지: 

org.apache.jasper.JasperException: /WEB-INF/views/member/form.jsp (line: 3, column: 71) File "/WEB-INF/tlds/spring-form.tld" not found


[참고] No tag library could be found with this URI ( http://antop.tistory.com/146 )

Tomcat 7 서버에서는 web.xml 에 <taglib> 를 정의하지 않아도 별 문제가 없지만, 웹로직 서버에서는 에러가 난다는 내용이다.



실행 시 Error - javax.validation.ValidationException: Unable to find a default provider


Build Error 를 다 해결하고 나서 웹 브라우저로 접속 시 첫화면은 잘 뜬다.



그런데, 웹 브라우저에서 http://localhost:8080/app/member/form 로 접속 시 500번 에러가 나는 경우이다.



org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is javax.validation.ValidationException: Unable to find a default provider


Error log 를 봐도 소스의 어디에서 이상이 있는지를 알 수 없다.


javax.validation.ValidationException: Unable to find a default provider 를 Google 에서 검색해보면

이 에러는 hibernate-validator 라는 jar 파일과 관련이 있다는 것을 알 수 있다.


[출처] http://blog.naver.com/muchine98/140161045048


위 블로그의 내용을 발췌해 보자면,


Spring MVC 에서 JSR 303 @Valid Annotation 을 사용하기 위해서는 아래와 같이 hibernate-validator 라이브러리를 포함시켜야 한다.


<dependency>

 <groupId>org.hibernate</groupId>

 <artifactId>hibernate-validator</artifactId>

 <version>4.2.0.Final</version>

</dependency>


이름은 Hibernate이지만 실제로 하는 역할은 Validation과 관련된 것 뿐이다. 만약 다른 javax.validation 패키지를 지원하는 라이브러리를 등록한다면, WAS 서버 기동 시javax.validation.ValidationException: Unable to find a default provider라는 에러가 발생한다.


이후 세팅은 아래 링크를 참조한다.

http://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/


legacy-sample 프로젝트의 pom.xml 에서 hibernate-validator 으로 검색해 보면


<dependency>

            <groupId>org.hibernate</groupId>

            <artifactId>hibernate-validator</artifactId>

            <version>4.0.0.GA</version>

        </dependency>


이제 C:\Users\{사용자명}\.m2\repository\org\hibernate\hibernate-validator\4.0.0.GA 폴더로 가서

hibernate-validator-4.0.0.GA.jar 를 검사해보자.

SHA-1 로 checksum 을 구해봐도 hibernate-validator-4.0.0.GA.jar.sha1 의 내용과 같지 않고, 압축을 풀어보면 에러가 나면서 압축이 풀리지 않는 것을 알 수 있다.


이제 C:\Users\{사용자명}\.m2\repository\org\hibernate\hibernate-validator\4.0.0.GA 폴더를 지우고, 프로젝트를 clean 하고 다시 빌드해보자. 그러면 eclipse 에서 pom.xml 에 정의된 라이브러리가 없는 경우 자동으로 다시 다운로드 받는다.


이런 경우가 Maven 의 잘못된 라이브러리 다운로드 때문에 실행 시 알수 없는 에러가 나는 경우이다.

 

Posted by 1010
반응형
error code :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project bb: Compilation failure

원인(여러가지가 있음)
1. 메이븐이 꼬임
2. jar파일이 제대로 읽히지 않아 에러
3. jdk 경로가 잘못 잡힘
4. jee에 tools.jar 가 추가되어 있지 않음

대처법
1. sub project maven clean -> main project maven clean -> main project maven build(즉, 모든 Project의 Maven clean , Install, build)
(sub project가 없을 시에는 main project만 clean)
2. pom.xml에서 Run As -> Run Configurations… -> Resolve Workspace artifacts 체크
(이 경우 이미 install 된 파일이 local에 있다면 불가능(서브 프로젝트로 넣고 있는데 workspace를 계속 검사해 jar 파일을 찾기 때문))
3.  Preferences -> java -> Installed JREs -> jdk 선택 -> Edit -> Directory -> jre를 jdk 폴더 안에 있는것으로 변경
4. Properties -> java build path -> jre 선택 -> Execution environment의 Environments 버튼 선택 ->
Add Extenal JARs 버튼 선택 -> tools.jar가 있는 jdk 경로 선택 -> finish

 

출처 : http://blog.naver.com/my464?Redirect=Log&logNo=150177934109 

Posted by 1010
98..Etc/centos2014. 1. 3. 19:57
반응형

http://scotchblue.blogspot.kr/2012/08/centos-6x-nvidia-install-driver.html


centos 6.x nvidia install driver

1. www.nvidia.co.kr 에서 드라이버 다운

2.nouveau disable 시키기
etc/modprobe.d/disable-nouveau.conf 파일생성
내용 -> blacklist nouveau
            option nouveau modset=0

3.boot/grup/grup.conf 에디트 하기
내용 -> rdblacklist=nouveau 추가 하기
위치 -> kernel행 마지막에 넣어준다

NVIDIA~~.run 파일을 실행하기 위해서는 실행화일로 바꿔줘야 하기때문에
chmod a+x NVIDIA~~.run 이라고 실행한후에 ./NVIDIA~~.run 한다
64bit일 경우에는 설치도중 나오는 32bit는 깔지 않는다 깔아버리면 먹통되버린다.


Posted by 1010
반응형

Maven으로 구성한 웹 프로젝트가 있다. Eclipse에서 디버깅을 하기 위해 Tomcat과 같은 WAS 설정을 하고 프로젝트를 디플로이 해서 사용하고 있었다. 헌데.. 이 잘 되던 프로젝트가 다른 사람의 Eclipse로 옮기거나 Eclipse 설정을 다시 할 때 아래와 같은 알 수 없는 ClassNotFoundException을 찍 뱉으며 실행이 되지 않는 경우가 종종 있다.

아래 오류가 이상한건.. Maven dependency로 잡아준 라이브러리의 클래스가 존재하지 않는다는 어처구니 없는 메시지이기 때문이다. 분명히 이쁘게 잘 잡아준 라이브러리가 존재하지 않는다고 하니 멍하니 하늘만 쳐다볼 뿐.. (아래 오류는.. Maven으로 Spring 라이브러리를 잡아 주었는데도 불구하고 WAS가 그 라이브러리를 인식하지 못 해서 못 찾는 오류 내용이다.)

정보: Starting Servlet Engine: Apache Tomcat/6.0.20
2011. 2. 8 오후 1:45:20 org.apache.catalina.core.StandardContext listenerStart
심각: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3877)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)


구글링을 해도 돌아오는 대답은 WAS의 라이브러리 경로에 해당 라이브러리 jar 파일을 넣어주라는 것 뿐.. 하지만 그럴거면 왜 힘들게 Maven을 쓰노?? Maven으로 라이브러리 종속 관계를 편하게 설정하고 사용하기 위한 것 아닌고?? 미친척 하고 오늘 하루 종일 아무 일도 안 하고 구글링만 했다. 오오~~ 우연히 발견한 반짝반짝 빛이 나는 멋진 글!! TㅅT


해결 방법은 Eclipse 프로젝트의 .classpath 파일에 다음과 같이 적어주어서.. 프로젝트를 WAS로 디플로이 할 때 프로젝트의 라이브러리를 함께 사용할 수 있도록 설정해 주어야 한다는 것!! 굳이 내용을 살짝 살펴보면 Maven으로 추가한 라이브러리(org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER)를 /WEB-INF/lib 경로로 넣어서 WAS에 배포될 때 함께 사용할 수 있도록 한다.. 정도?? -ㅅ-;;

<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>



.classpath 파일은 workspace 경로에 해당 프로젝트 폴더 최상위에 존재한다. Eclipse에서는 Package Explorer나 Project Explorer에서는 숨겨져 있어 보이지 않고 Navigator view를 사용하면 볼 수 있다.


 




이 문제로 매번 고생하면서 오늘도 몇 시간을 날렸는데.. 답은 의외로 너무 간단하게 1줄.. 아.. 죽갔네.. 이런 문제 젤 시러.. -ㅅ-;;




수정 덧)
권남님의 덧글로 더 쉽게 설정하는 방법을 알았다. 정말 감사합니다~~
프로젝트를 오른쪽 클릭하고 "Properties"를 선택하여 Properties 창을 연다. 그리고 왼쪽 메뉴(?)에서 "Deployment Assembly"를 선택하면, WAS에 배포될 때 함께 사용될 녀석들을 관리할 수 있다. Maven Dependency로 걸린 녀석들을 라이브러리로 추가하기 위해 "Java Build Path Entries"를 선택한다.



그리고 "Maven Dependencies"를 선택하면 끝~~



이렇게 설정되면 .classpath 파일에 위에 쓰여진 내용이 자동으로 설정된다. 으흐~~ 쉽다~~ ㅋㅋ

Posted by 1010
98..Etc/centos2014. 1. 3. 13:57
반응형
http://efficient.tistory.com/entry/centos-ftp설치-및-설정
http://efficient.tistory.com/category/Linux
Posted by 1010
반응형

출처 : http://donzbox.tistory.com/478

# 증상 : Eclipse 강제종료 후 Eclipse 실행시 아래와 같은 alert 메시지 발생 후 실행이 안됨

alert Message :


.log Error Message :

!ENTRY org.eclipse.core.resources 2 10035 2013-05-30 16:23:36.686
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

!ENTRY jp.gr.java_conf.ussiy.app.propedit 1 0 2013-05-30 16:23:39.556
!MESSAGE properties loading 'DevWork'

!ENTRY jp.gr.java_conf.ussiy.app.propedit 1 0 2013-05-30 16:23:39.566
!MESSAGE properties loading 'RemoteSystemsTempFiles'

!ENTRY jp.gr.java_conf.ussiy.app.propedit 1 0 2013-05-30 16:23:39.566
!MESSAGE properties loading 'Servers'

!ENTRY jp.gr.java_conf.ussiy.app.propedit 1 0 2013-05-30 16:23:39.566
!MESSAGE properties loading 'htmlWork'

!ENTRY jp.gr.java_conf.ussiy.app.propedit 1 0 2013-05-30 16:23:39.566
!MESSAGE properties loading 'kofia_user'


# 해결 :

%ECLIPSE_HOME%workspace\.metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi 파일 삭제

(workbench.xmi 기존 작업에 대한 세팅이 저장되어 있는 File )


참고 사이트 :

ApexSoft DevArtMent

URL : http://apexsoftdevartment.blogspot.kr/2012/11/blog-post.html

 

Posted by 1010
98..Etc/centos2014. 1. 3. 12:34
반응형

OS : CentOS 6.2

apache : 2.4.1

tomcat : 6.0 (6.9.35) (Binary)


1. tomcat 다운로드 & 압축해제

[root@CentOS ~]# cd /usr/local

[root@CentOS local]# wget http://mirror.apache-kr.org/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz

[root@CentOS local]# tar xvfz apache-tomcat-6.0.35.tar.gz

[root@CentOS local]# ln -s apache-tomcat-6.0.35.tar.gz tomcat


http://www.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.35-src.tar.gz

Posted by 1010
98..Etc/centos2014. 1. 3. 12:32
반응형

1) Java SE Development Kit 6(JDK6) download

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html 

Linux x86(32-bit) jdk-6u31-linux-i586.bin 파일

 

2) 설치

mv /home/navi/Downloads/jdk-6u31-linux-i586.bin /usr/local  -> 파일 이동

cd /usr/local -> 디렉토리 변경

chmod 755 jdk-6u31-linux-i586.bin -> 파일 실행 권한 변경

./jdk-6u31-linux-i586.bin -> 설치

 

3) 환경변수 설정

ln -s jdk1.6.0_31 java -> java로 링크 설정

gedit /etc/profile -> 환경변수 설정 열기

export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/bin/lib/ext:$JAVA_HOME/lib/tools.jar

 

source /etc/profile -> 환경 변수 적용

 

env -> 설정한 환경변수 확인

 

java -version -> 최종적으로 java 설치 완료 확인(아래와 같이 나오면 정상 설치)

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

 

4) openjdk 삭제 or java 순서 바꾸기

만약 자동적으로 openjdk가 설치되어 있다면, 새로 sun jdk설치 하였다고 하더라도

버전을 출력해보면...

#java -version

java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386)
OpenJDK Server VM (build 20.0-b11, mixed mode

위와 같이 openjdk가 기본적으로 딱 자리잡고 있다.

그러므로 이런경우 openjdk를 삭제하던 아니면 java config를 수정해서 기본 java path를

설치한 path로 잡아주어야 한다.


***삭제의 경우

rpm -qa | grep jdk

java-1.6.0-openjdk-devel-1.6.0.0-1.43.1.10.6.el6_2.i686
java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686
java-1.6.0-openjdk-javadoc-1.6.0.0-1.41.1.10.4.el6.i686

yum remove java-1.6.0-openjdk-devel java-1.6.0-openjdk java-1.6.0-openjdk-javadoc


***그냥 두고 jdk 버전의 순서를 변경하는 경우

우선 현재 java config를 살펴보자

# update-alternatives --config java
3 개의 프로그램이 'java'를 제공합니다.
  선택    명령
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

자동적으로 설치된 openjdk가 자리잡고 있다.

그러므로, 위에 설치한 버전을 config에 추가하고 선택해주어야 한다.

우선 config에 추가

#update-alternatives --install "/usr/bin/java" "java" "/usr/local/jdk1.6.0_31/bin/java" <= 새로 설치한 path

그럼 추가가 됐는지 볼까요?

# update-alternatives --config java
3 개의 프로그램이 'java'를 제공합니다.
  선택    명령
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
   3           /usr/local/jdk1.6.0_31/bin/java


 현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오 :

3)에 추가가됐네요! 그럼 3을 입력하고 엔터키...

# update-alternatives --config java

3 개의 프로그램이 'java'를 제공합니다.
  선택    명령
-----------------------------------------------
* 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
  +3           /usr/local/jdk1.6.0_31/bin/java


3이 선택된 것을 알 수 있습니다.

그리고 버전을 출력하면,

#java -version

Java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

위와 같이 위에서 설치한 sun Java가 잡혀있는 것을 볼 수 있다.

 

Posted by 1010