728x90
반응형

 
에러

Description:
Web server failed to start. Port 8080 was already in use.
...
 
프로젝트를 마구잡이로 빌드하고 또 빌드하고 하다보면
자주 발생했던 port 번호가 이미 사용중이라는 에러.
STS나 인텔리제이나 둘 다 IDE 자체를 껐다가 켜도 잘 안돼서
항상 컴퓨터를 껐다 키는 번거로운 바보짓을 했지만
안되겠다 싶어서 팁을 찾아내서 참고하고자 기록한다.

 
명령프롬프트 (cmd) 창을 켜서
명령어 netstat -ano 입력 후
활성 연결된 로컬주소 포트번호 확인!
대부분 기본 포트번호는 8080 일 것이나
나같은 경우는 사용해야 할 8082가 이미 사용 중인 것으로 나왔다.
같은 라인 PID를 기억하자.
 

 
 
 
 
해결
명령어 taskkill /f /pid PID번호

-> PID 번호에 위에서 기억해두었던 PID 번호 입력 후 엔터

성공적으로 해당 프로세스 종료되면 프로젝트가 정상적으로 실행된다.
 

728x90
반응형
728x90
반응형

또 다시 프로젝트 실행 에러를 마주했다.

이번에는 h2 Database 연동 관련!

 

 

에러내용

org.h2.jdbc.JdbcSQLNonTransientConnectionException: Connection is broken: "java.net.SocketTimeoutException: connect timed out: localhost" [90067-214]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) ~[h2-2.1.214.jar:2.1.214]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) ~[h2-2.1.214.jar:2.1.214]
at org.h2.message.DbException.get(DbException.java:212) ~[h2-2.1.214.jar:2.1.214]
at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:437) ~[h2-2.1.214.jar:2.1.214]
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:325) ~[h2-2.1.214.jar:2.1.214]
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:122) ~[h2-2.1.214.jar:2.1.214]
at org.h2.Driver.connect(Driver.java:59) ~[h2-2.1.214.jar:2.1.214]
at co m.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-4.0.3.jar:na]
at co m.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar:na]
at co m.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar:na]
at co m.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar:na]
at co m.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar:na]
at com.zaxxer.hikari.pool.HikariPool. <init>(HikariPool.java:115) ~[HikariCP-4.0.3.jar:na]
at co m.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-4.0.3.jar:na]
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) ~[spring-jdbc-5.3.29.jar:5.3.29]
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) ~[spring-jdbc-5.3.29.jar:5.3.29]
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) ~[spring-jdbc-5.3.29.jar:5.3.29]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:332) ~[spring-jdbc-5.3.29.jar:5.3.29]
at org.springframework.boot.jdbc.EmbeddedDatabaseConnection.isEmbedded(EmbeddedDatabaseConnection.java:164) ~[spring-boot-2.7.14.jar:2.7.14]

...

 

 

 

해결

JDBC URL 에 jdbc:h2:~/test 입력 후 바로 연결(연결 시험 X)

권한 문제 때문에 tcp로 접근하면 DB가 없을 경우 자동 생성하지 않는다고 한다.

위와 같이 입력 후 바로 연결 버튼을 누르면 DB가 자동으로 생성된다.

 

프로젝트 재실행 해보니 정상적으로 실행된다.

728x90
반응형
728x90
반응형

에러

프로젝트를 실행하고 url 입력 후 접속하니 갑자기 뜨는 에러..

 

java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x03Mz0xe70x170xd90x0e0xb30xf90xcb{0x1eA0xbf0xea0xe39Z0xff0xed0x1a0x18:0x940xa00x19\0x8c0xd7Z|P] ]. HTTP method names must be tokens
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:407) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:263) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

2023-08-15 16:02:02.947  INFO 40308 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.

 

 

 

해결

url 주소를 칠 때

https:// 로 되어있어서 접속이 안되었었던 것 같다.

잘되다가 안돼서 당황했는데

API 접속 테스트 하느라 url 을 이래저래 변경해봤던 것이 에러 원인이었던 듯 하다.

http:// 로 변경해서 접속해보니 정상적으로 된다.

 

728x90
반응형
728x90
반응형

에러 내용 :

어제까지만해도 콘솔창의 한글출력이 잘 되다가 갑자기 안되는 매직..★

인코딩부분 문제인가 해서 이것 저것 찾아본 후 설정해도 안됨

 

 

 

해결1 :

idea64.exe.vmoptions 파일 수정

- shift를 두번 클릭 후 'Edit Custom VM Options...'를 연다.

- 아래 코드 한 줄 추가 후 인텔리제이를 재시작 해보니 정상적으로 한글이 나온다!

   -Dfile-encoding=UTF-8

 

 

드디어 한글이 보이는 실행 결과 콘솔창

 

 

 

해결2 :

잘 되던 한글 출력이 다른 컴퓨터에서 또 안되는 에러 발생해서

Edit Configurations 에서

JDK 버전을 다시 선택해주니 정상적으로 한글이 나온다.

 

728x90
반응형
728x90
반응형

김영한 강사님의 인프런 강의를 들으면서

Jpa 테스트 코드 작성 후 돌리는 중 에러 발생!

 

 

에러 내용 :

antlr.NoViableAltException: unexpected token: Member

...

java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: Member near line 1, column 15 [select m from Member m where m.name = :name]

...

 

 

 

해결 :

1. Member 파일 내에 @Entity 애노테이션 추가

2. 변수 id 위에 2개 애노테이션 추가

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

 

 

테스트 코드를 다시 실행해보니 바로 정상적으로 작동된다.

 

728x90
반응형

+ Recent posts