java.lang.OutOfMemoryError: Java heap space 
에러내용은 자바의힙 메모리 공간이 부족해서 생기는 에러로써 이를  해결하기 위해서는 
힙 사용 메모리 공간을 변경(확보)시켜 주어야 한다.

이클립스를 사용하고 있다면
아래와 같이 해결할 수 있다, 빈번히 생기는 에러는 아니지만 간혹 힙 메모리의 오류가 발생하니 참고하도록 하자

Properties - Run/Debug Settings - Arguments tab - VM arguments 로 이동하여 아래의 그림과 같이 설정한다 .

 

[-Xms256m, -Xmx1024m] 로 -Xms 는 최소, -Xmx 는 최대로 메모리로, 사용자의 편의에 맞게 적당히 지정한다

추가사항 (02/March/2009): 간혹 온라인 게임 프리서버를 돌리기 위해서 나타나는 java sql heap 스페이스 방법에는 사용되지 않습니다, 혹시 class 파일을 변경한다면 될지 모르겟네요.
위에 표기된 해결 방법은 이클립스에서 실행하는 어플에 적용된다고 알려드리고 싶습니다
..

저작자 표시 비영리
Posted by 티엘로


루비 온 레일즈 붉은색 서적 "Biginning Ruby on Rails 라는 책에 첫 튜토리얼중 Yes it's Working 을 Local 로 html로 올리는 부분에 오류가 납니다.

그래서 무시하고 다른부분부터 보기 시작했는데 마음에 걸려 삽질을 해본결과 책에 전혀 기술되지 않은 오류 정보더군요 ㅠㅠ
 
에러내용중" MissingSourceFile in AppController#greeting" 결국 sqlite3 라는DB 를 설치 하지 않아서 ...라더군요


sqlite를 일단 설치했습니다..

설치 방법은 루비가 설치된 콘솔 창에 "gem install sqlite3-ruby" 으로 설치하시면 됩니다.                         .

hello.app 를 실행합니다. 그결과 또다른 에러가 발생합니다..

에러내용은 sqlite3.dll 이 없다고 나오네요 http://sqlite.org/download.html 에 가셔서 dll 파일을 받아 Windows\system32 아래 넣어주시면 모든 에러가 해결됩니다.

정말 기본 비기닝 책이 이렇게 힘들줄은 몰랐습니다 ㅠ 이오류는 sqllite 라는 DB에 관한 오류지만 책에서는 Mysql 을 다룹니다 ㅠㅠ 흐악 과연 또다른 문제가 어떻게 발생할지 모르겠군요...



저작자 표시 비영리
Posted by 티엘로


클래스 압축 파일인 jar 파일을 만든 후 실행할 때,


---------------------------
Java Virtual Machine Launcher
---------------------------
Failed to load Main-Class manifest attribute from
D:\Z\Foo.jar
---------------------------
확인
---------------------------

이런 에러가 나게 됩니다.

MANIFEST.MF 파일에 Main-Class 를 지정하지 않았다는 에러입니다.

적어도 현재 자바 5.0 (=1.5)에서는, Main-Class 를 자동으로 지정해 주지 않더군요.


jar 에러 해결법



우선 MANIFEST.MF 라는 텍스트 파일을 만들어야 합니다.

MANIFEST.MF 파일의 내용:

Main-Class: Foo



만약 프로그램 이름, 즉 "public static void main(String args[])..." 이런 메인 메소드가 있는 클래스 이름이 Foo.class 라면
Main-Class: Foo
이렇게 적어 줍니다. 그런 후 Main-Class: Foo 밑에서 엔터키를 한 번 쳐서 빈 줄을 만들어 줍니다. 그런 후 저장합니다.


이제 도스창(명령 프롬프트)에서
jar cfvm Foo.jar MANIFEST.MF Foo.class
이런 명령을 주면

D:\Z>jar cfvm Foo.jar MANIFEST.MF Foo.class
추가된 manifest
추가 중: Foo.class(내부 = 688) (외부= 501)(27%가 감소되었습니다.)

D:\Z>


이렇게 Foo.jar 라는 파일이 만들어집니다.



만약 Foo.class 가 GUI 프로그램이라면, 그냥 윈도 탐색기 (Windows Explorer)에서, Foo.jar 를 클릭해도 실행됩니다. (▶▶ 자바/Java] GUI 기초, 기본 창(윈도) 만들기: Java Example, Simple Window)

그런데 Foo.class 가 콘솔용 프로그램 즉 텍스트 모드라면(▶▶ [자바/Java 기초] 간단한 자바 예제, 테스트용으로 쓸 'Hello, World' 소스), 도스창에서 이렇게 실행해야 합니다:

java -jar Foo.jar

이렇게 하지 않으면 화면에 글자가 나오지 않게 됩니다.
Posted by 티엘로