DHCP 관련 에러를 만났을 때 대처법입니다.

"Unable to start the Genymotion virtual device. 

The Genymotion Virtual device could not obtain an IP address.

For an unknown reason, VirtualBox DHCP has not assigned an IP address to virtual device. Run the VirtualBox software to check for issues."

먼저 설치되어 있던 VirtualBox의 글로벌 환경설정(cmd+,)에서 네트워크 > 호스트 전용 네트워크의 DHCP 서버를 체크해야 합니다.

vboxnet0 항목을 선택하고 우측에 드라이버 아이콘을 클릭합니다.


DHCP 서버를 체크해서 올려야 Genymotion 가상 디바이스가 IP를 획득할 수 있게 됩니다.




참고: https://cloud.genymotion.com/page/faq/#collapse-nostart

Virtual VMs에서 바로 삭제한 것은 수작업으로 수정해서 고쳐야 합니다. VirtualBox 프로그램을 제거하고 다시 설치해도 정보가 남아있었습니다.

접근할 수 없음이라고 표시되는데, 삭제도 되지 않습니다.



\Users\사용자\.VirtualBox 폴더에 있는 VirtualBox.xml 파일에 정보가 있습니다. VirtualBox는 먼저 종료해야 합니다.




워드패드로 VirtualBox.xml 파일을 열어서 연결이 끊어진 <MachineEntry /> 태그를 삭제합니다.



<ExtraDataItem /> 태그에서는 m=UUID 형태의 지난 정보를 지워야 합니다. 남아있는 VM의 UUID는 로그에서 확인이 가능합니다. 순서는8자리가 2글자씩 뒤로 섞여있습니다. m=43bf0e29-... 이 정보가 29 0e bf 43 이런 순서입니다.




잘 정리된 화면을 보니 반갑습니다.


맥에서 java8 현재 RC1을 사용하고 있는데, jsp가 컴파일이 안 되는 이슈가 있네요.


HTTP Status 500 - Unable to compile class for JSP: An error occurred at line: 1 in the generated java file The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files Stacktrace:


type Exception report

message Unable to compile class for JSP: An error occurred at line: 1 in the generated java file The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files Stacktrace:

description The server encountered an internal error (Unable to compile class for JSP: An error occurred at line: 1 in the generated java file The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files Stacktrace:) that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 1 in the generated java file
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files

Stacktrace:
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.28 logs.


Apache Tomcat/7.0.28

환장했습니다.

이클립스에서 톰캣의 런타임 JRE를 java7으로 강제 지정하니 잘 동작합니다.
ctrl+3 에서 runtime 으로 검색하고 Preferences > Runtime Environments 선택합니다.


톰캣을 선택하고 Edit... 버튼을 클릭합니다.


JRE: 항목이 Java SE 8로 되어 있군요. SE(시)8


Workbench default JRE 는 이클립스 워크스페이스에서 기본 지원하는 버전을 사용하는데, 그냥 맘편하게 Java SE 7 으로 지정하는 것도 나쁘지 않습니다. 기본환경이 언제 저를 배신할 지 모르기 때문이죠.


정식 Java SE 8이 나오면 제대로 잘 되기를 바래봅니다.

아, 오라클



겹치는 class 있는 경우


[2011-01-23 16:25:48 - maps]: Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/uaxgel/realestate/xmlrpc/XMLRPCMethodCallback;
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processClass(Main.java:338)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:315)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:266)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processOne(Main.java:284)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:220)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.run(Main.java:176)
[2011-01-23 16:25:48 - maps]: Dx at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[2011-01-23 16:25:48 - maps]: Dx at java.lang.reflect.Method.invoke(Method.java:597)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:344)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:179)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
[2011-01-23 16:25:48 - maps]: Dx1 error; aborting
[2011-01-23 16:25:48 - maps] Conversion to Dalvik format failed with error 1

으악 DB에 한글이 안들어가요.

Exception in thread "main" java.sql.SQLException: Incorrect string value: '\xEB\xB0\xB1\xEA\xB8\xB0...' for column 'name' at row 1

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)

at springbook.user.dao.UserDao.add(UserDao.java:23)

at springbook.user.dao.UserDao.main(UserDao.java:60)



mysql> SHOW VARIABLES LIKE '%olla%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

mysql> 

Class.forName("com.mysql.jdbc.Driver");

Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook?characterEncoding=UTF-8", "spring","book");


방법을 찾았습니다만, 쉽지 않은 문제였습니다. DB에 대한 이해가 필수겠지요. varchar(20)을 longtext  로 잡았습니다.

create table users (

id varchar(10) primary key,

name longtext not null,

password varchar(10) not null

) DEFAULT CHARSET=utf8;



현재 DB 설정과 내용은 다음과 같습니다.
kenuheoyimacbookpro-4:bin kenu$ ./mysql -u spring -p springbook
Enter password: 
...
Server version: 5.5.8 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
...
mysql> show variables like '%olla%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

mysql> select * from users;
+-----------+-----------+----------+
| id        | name      | password |
+-----------+-----------+----------+
| whiteship | 백기선    | married  |
+-----------+-----------+----------+
1 row in set (0.00 sec)

mysql> 



+ Recent posts