JDBC ORACLE ERROR

 

1. 프로젝트 아이콘에 빨간 색 에러 표시 발생. (현재는 해결 상태)

 

Cannot load JDBC driver class 'oracle'

 

-> oracle을 찾지 못하고 있는 문제. 보통은 ojdbc.jar 파일을다 라이브러리에 추가해서 해결이 가능하지만, 이번에는 해결이 안된다. pom.xml에 DI 주입이 안되어있나 확인해보았는데 역시 문제 없다.

 

(1) 일단 Project clean 해보기.

 

project clean 해보기

 

(2) pom.xml에 입력완료 된 jar file이 bin안에 들어있는지 확인하기.

중복으로 들어있으면 충돌날 수 있을 것 같아서, bin안에 있는 것을 지워봤다. -> 오류 해결됨.

 

아이콘에 에러 발생

 

문제는 STS 상에서 lib안에 있는 jar file을 삭제할 경우, 이미 system에서 사용하고 있는 파일이라 삭제가 불가능하다는 메세지가 뜬다는 것이다. DI 빠진 부분이 없는지 pom.xml 다시 한 번 확인해 본 후, 프로젝트가 들어있는 로컬 폴더에 들어가 수동으로 삭제를 진행해주었다.

 

-> Project Refresh후에 에러 표시 사라짐.


Tomcat Error

 

Oracle 에러 해결 후, 서버 문제가 떴다. tomcat 설정에 문제가 있는 듯 하여 확인해보았다.

 

(1) Project -> properties -> Project Facets -> runtimes -> tomcat 체크되어있나 확인.

체크가 해제되어있다. 분명 서버 설정을 해두었는데, tomcat이 빠진 이유가 뭔지 찾기 시작 

 

(2) 원인 : Maven -> Update Project 를 눌러 refresh를 해주었었는데, 해당 기능과 내가 설치한 Zulu JDK에 호환이 안되고 있는 것 같았다. 설정을 하고 apply를 마친후에도 update Project를 누를 시, tomcat이 계속해서 빠지는 것을 확인했다. 

 

 

 

 

 

'Backend > Spring' 카테고리의 다른 글

사진 업로드 (SpringProject)  (0) 2022.06.28
Spring MVC @annotation 관련 정리.  (0) 2022.06.23
Spring + myBatis 환경 설정  (0) 2022.06.21
Spring Basic Bean  (0) 2022.06.18
Spring XML  (0) 2022.06.15

SQL mapping framework MyBatis.

JDBC 작업을 단축시키고, sql 문을 java 문과 섞지 않아도 되는 편리함을 제공한다.. 

 

Spring 연동 순서.

 

1. pom.xml -> mybatis 라이브러리 추가.

(https://mvnrepository.com/) 가서 검색하면 대부분의 프레임워크가 나온다. 

그냥 최신버전을 다운 받는 것 보다 내가 사용하고 있는 util의 버전을 체크해서 맞는 제품을 추가하는 것이 좋다. 

 

(1) mybatis : 

 

	<!-- MyBatis -->
	
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis-spring</artifactId>
	    <version>2.0.6</version>
	</dependency>
	
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis</artifactId>
	    <version>3.5.7</version>
	</dependency>
	
	
	<dependency>
	    <groupId>org.apache.commons</groupId>
	    <artifactId>commons-dbcp2</artifactId>
	    <version>2.9.0</version>
	</dependency>

 

++++

JDBC dependency code도 기본으로 필요.

 

	<!-- SPRING JDBC -->
	<dependency>
	    <groupId>org.springframework</groupId>
	    <artifactId>spring-jdbc</artifactId>
	    <version>5.3.15</version>
	</dependency>

 

 

 

추가 된 jar file 들...

 

 

2.SQLSessionFactory

 

MyBatis에서 가장 핵심적인 객체는 SQLSession이라는 녀석과 SQLSessionFactory 인터페이스 이다.

SQLSessionFactory는 이름만 보아도 SQLSession을 만들어 내는 공장이라는 것을 알 수 있다.

SQLSession은 개발자가 이를 통해 Connection을 생성하거나 원하는 SQL을 전달하고, 결과를 리턴 받는 구조로 작성하게 된다.

root-context.xml에 다음을 추가한다.

 

 

3. lifecycle.

 

mybatis + Spring 의 lifeCycle. 모호 할 때마다 틈틈이 보자.

 

사진 출처 https://codevang.tistory.com/249

 

 

 

Maven 으로 바꾸기

 

 

applicationContext -

 


<context:property-placeholder location="classpath:spring/db.properties" />   
<tx:annotation-driven transaction-manager="transactionManager" />

--->>>>

 

Spring config 

 

@Configuration
@EnableTransactionManagement 
@PropertySource("classpath:spring/db.properties")

 

 

 

 

 

 

 

<context:component-scan base-package="spring.conf"/> xml에 마지막 추가.

 

각 service 및 main, DTO package 들에 있는 java 파일

setter 어노테이션을 날려주고 Autowired 로 변경해준다. 

 

class 명 위에 @Component로 어노테이션 달아준다. context Scan이 component 잡아줄 수 있게. 이때 service 파일은 @ Service 어노테이션 붙여줘도 된다. & DAO 파일은 @Repository로 어노테이션 달아주면 된다. (전부 @Componen)로 달아줘도 상관없음.

 

 

'Backend > Spring' 카테고리의 다른 글

Spring MVC @annotation 관련 정리.  (0) 2022.06.23
STS Error - Tomcat / Oracle  (0) 2022.06.23
Spring Basic Bean  (0) 2022.06.18
Spring XML  (0) 2022.06.15
Spring STS 설치  (0) 2022.06.14

spring은 xml을 통해 bean을 형성해주는데, 

 

main함수가 들어있는 java 파일에서는 xml에서 생성한 bean에서 id 값을 통해 데이터를 받아와 출력을 진행한다.

class는 bean에 넣을 값을 받아 올 위치를 말한다.

 

예를 들어,

<bean id="messageBean" class="practice3.MessageBeanEn" scope=""/>

(Application.xml)

 

라는 xml 코드가 작성되었고,

 

	ApplicationContext context = new ClassPathXmlApplicationContext("Application.xml");
		
		MessageBean messageBean = (MessageBean)context.getBean("messageBean");
		messageBean.sayHello("Spring");
		System.out.println("-----------------");
		
		MessageBean messageBean2 = (MessageBean)context.getBean("messageBean");
		messageBean2.sayHello("Spring");
		System.out.println("-----------------");
	
		MessageBean messageBean3 = (MessageBean)context.getBean("messageBean");
		messageBean3.sayHello("Spring");
		System.out.println("-----------------");

(main.java)

 

main 자바 파일에서 해당 코드를 작성하였다면, ClassPathXmlApp("application.xml")의 인스턴스는 "messageBean" 이라는 id값을 통해 data를 받아오고 있는 것이다.

 

여기서 "messageBean"은 위에서 xml설정된 파일의 Id값이다.

 

아직 DTO에 데이터 입력값이 없기 때문에 예제에서 실제로 Bean이 생성되었고 데이터가 실제로 저장되었음을 보여줄 내용이 없다. 하지만 아래 sungjuk project에서는 확인이 가능하다.

 

** 중요한 것 

기본적으로 spring xml에서 bean을 생성하였을 시, 디폴트로 객체 한개 당 한개의 bean을 생성하는 Singleton 개념을 갖는다. 이 싱글톤을 해제하고 싶으면 아래와 같이 scope에 "prototype" 값을 넣어주면 된다.

 

<bean id="messageBean" class="practice3.MessageBeanEn" scope="prototype"/>

 

아래 코드는, 생성자를 통해 직접 DTO에 값을 넣어주는 xml 코드이다. 

<bean id="sungJukDTO" class="practice5.SungJukDTO">
			<property name="name" value="홍길동"/> 
			<property name="math" value="95"/>
			<property name="kor" value="97"/>
			<property name="eng" value="100"/>
			<property name="tot" value="292"/>
			<property name="avg" value="97"/>
		</bean>
		
		<bean id="sungJukImpl" class="practice5.SungJukImpl">
			<constructor-arg ref="sungJukDTO"></constructor-arg>
		</bean>

(1) sungJukDTO 라는 ID값을 갖는 bean에 property name 별 각각의 value를 넣어주었다.

(2) sungJukImpl 라는 ID값을 갖는 bean에는 생성자를 통하여 (1)번의 value를 넣어주었다. 

 

이렇게 되면, 

 

다음 코드의 DTO 초기값은 (1) 이 된다.

--> xml 사용하지 않았다면 아래 코드에 직접 변수 초기값을 설정하였을 것이다.

 

그 초기값을 xml로 지정해준 후, modify method를 이용하여 DTO에 들어갈 각 value를 수정해주는 것이다. 

public class SungJukImpl implements SungJuk{
	private SungJukDTO sungJukDTO;
	
	public SungJukImpl(SungJukDTO sungJukDTO) {
		this.sungJukDTO = sungJukDTO;
	}
	
	@Override
	public void calcTot() {
		sungJukDTO.setTot(sungJukDTO.getKor() + sungJukDTO.getMath() + sungJukDTO.getEng());
	}
	@Override
	public void calcAvg() {
		sungJukDTO.setAvg(sungJukDTO.getTot()/0.3);
	}
	
	@Override
	public void modify() {
		Scanner scn = new Scanner(System.in);
		
		System.out.println("이름을 입력하세요: ");
		sungJukDTO.setName(scn.next());
		
		System.out.println("국어 점수를 입력하세요: ");
		sungJukDTO.setKor(scn.nextInt());
		
		System.out.println("영어 점수를 입력하세요: ");
		sungJukDTO.setEng(scn.nextInt());
		
		System.out.println("수학 점수를 입력하세요: ");
		sungJukDTO.setMath(scn.nextInt());
	}	
		
	@Override
	public void display() {
		System.out.println("이름\t국어\t영어\t수학\t총점\t평균");
		System.out.println(sungJukDTO);
	}
}

 

 

'Backend > Spring' 카테고리의 다른 글

Spring MVC @annotation 관련 정리.  (0) 2022.06.23
STS Error - Tomcat / Oracle  (0) 2022.06.23
Spring + myBatis 환경 설정  (0) 2022.06.21
Spring XML  (0) 2022.06.15
Spring STS 설치  (0) 2022.06.14

1. 복습

 

ApplicationContext? 

BeanFactory 인터페이스를 상속받은 하위 인터페이스이다. BeanFactory가 제공하는 기능 외에도, 추가적으로 자원처리 추상화 등의 기능을 제공하고 있어 BeanFactory보다 자주 사용한다. 

 

선언시에는 다음을 사용하며 (내가 배운 위주 ) xml 위치를 어떻게 넘겨주느냐에 따라  몇 가지 다른 클래스를 사용하기도 한다.

ApplicationContext context = new ClassPathXmlApplicationContext(xml파일명);

 

 

 

 

2. Bean 설정.

<bean> 태그를 이용해 빈을 정의한다.

id는 빈의 id를 통해 참조할 경우가 있는 경우에만 설정하면 된다. id 값은 개발자가 임의로 설정해주면 된다. 

 

xml에서 설정된 id를 getBean 메서드를 통해 끌어오고 있다
xml에 bean id 설정.

id, class외에 속성은 나중에 더 배우며 추가하는 것으로.

'Backend > Spring' 카테고리의 다른 글

Spring MVC @annotation 관련 정리.  (0) 2022.06.23
STS Error - Tomcat / Oracle  (0) 2022.06.23
Spring + myBatis 환경 설정  (0) 2022.06.21
Spring Basic Bean  (0) 2022.06.18
Spring STS 설치  (0) 2022.06.14

D: 드라이브 내에 Spring 폴더 생성

repository 설치하기 repository 위치 &ndash; C:\Users\***my account****\.m2\repository\org\springframework\spring-context

 

 

-> lib, workspace 폴더 생성

-> https://repo.spring.io/ui/native/release/org/springframework/spring/

-> 버전 선택 ( 나는 5.3.15 으로 설치했음.)

-> dist.zip 파일 다운

-> http://dist.springsource.com/release/STS/index.html (spring tool suite : STS 다운받기)

-> 가장 최신파일 다운로드 (spring-tool-suite-3.9.12.RELEASE-e4.15.0-win32-x86_64.zip)

-> spring 폴더에 dist.zip 압축 해제하기 -> spring 설치완료 ( 압축해제만 하면된다. 따로 exe 설치할 필요 없음.)

 

lombok 설치 과정
맨 마지막줄에 lombok.jar 구문이 들어가있으면 설치가 완료된 것이다.

 

 

- 롬복 설치되어 있는지 확인 -> (sts.bundle-> sts-RELEASE folder -> sts 파일폴더 notepad로 open)

- Spring legacy project는 생성할때 spring MVC로 웹과 연결 한다.

 

아래는 Jar 파일 넣고 build path 클릭하는 과정.

 

 

lib에 6가지 jar file 넣어준 후, 드래그 하여 마우스 우클릭, build path 선택해주면 refer library가 위와 같이 생성된다.

 

 

'Backend > Spring' 카테고리의 다른 글

Spring MVC @annotation 관련 정리.  (0) 2022.06.23
STS Error - Tomcat / Oracle  (0) 2022.06.23
Spring + myBatis 환경 설정  (0) 2022.06.21
Spring Basic Bean  (0) 2022.06.18
Spring XML  (0) 2022.06.15

비동기와 동기.

 

가끔가다보면 정의되어 있는 용어가 왜 그 뜻인지 생각해보아야 하는 no직관성에 짜증날때가 있다.

귀찮아서 그냥 직역해놓은 것인지 무튼 헷갈려서 다시 찾아봤다.

 


Synchoronous (동기) :  start from the top of the file and exectue all the way down to bottom of the file 

java의 기본 코드 수행과 비슷하다. 수행하는 행위를 top에서부터 bottom까지 순차적으로 진행하고 모든 코드가 order에 맞추어 진행된다.

 

예를 들어, 누군가에게 $5를 보내기 위하여 거치는

procedure : 액수 입력 -> 전송하기 클릭 -> 수신자에 전달 완료 -> 나와 상대방에게 각각 송금/수신이 완료되었습니다 (동시 팝업)

동기에 해당되는 방식이다.

 

왜냐?  위의 procedure는 순차적으로 일어나야 마지막 목적에 도달할 수 있고 만약 순서가 뒤바뀌어 버리면 목적에 도달하는데 문제가 생기기 때문이다.

 

 


Asynchoronous (비동기) similar to the that of Synchoronous. but, during that execution it will run into ascynchoronous function or code, or it split off and execute that asynchoronous code seperately from the rest of the code and that's usually because it used to wait..

 

동기 방식과 동일하게 top to the bottom으로 코드를 수행한다. 다만 중간에 asynchronous function이 삽입되어 있을 시, 이를 수행하거나 아니면 코드에서 뜯어내어 마지막에 수행한다.

마지막에 수행하는 이유는 -> 코드가 수행되기까지 시간이 걸리기 때문인데 시간이 걸리는 이유는 여러가지가 될 수 있다.

 

그 중 한 가지 이유는 개발자가 직접 delay time을 걸어놓은 경우다.

아래에 첨부되어 있는 코드는 개발자가 애초에 setTimeOut function으로 코드를 실행하는 시간을 100ms로 설정해놓았다.

 

by web dev simplified channel youtube.

우측 콘솔 창에 보면 colesole.log(a), conesole.log(b) 가 먼저 실행된 것을 볼 수 있다.

100ms 을 기다리는 동안 다른 코드를 먼저 수행한 것이다. 

 

아래 사진은 많이 헷갈려 하는 개념이라고 하는데, 코드 중간에 보면 a =10으로 allocate 해두었다. 

by web dev simplified channel youtube.

a 는 중간에 10이라는 값을 할당받고 console.log('Synchronous'), (a), (b)를 수행했다. 때문에 콘솔 창에도 a 는 10의 값을 출력하고 있으며, 그 이후에 수행된 비동기 function인 setTimeOut 또한 10을 출력하고 있다.

 

=> top of code page에서 변수 a 가 할당받은 값이 1일지라도 function은 a 가 10을 allocate받은 다음에 수행되었기 때문에 function 안의 a 또한 10을 배정 받는 것이다.

 


위에서 적어두지 못한 콜백함수

(https://www.hanumoka.net/2018/10/24/javascript-20181024-javascript-callback/) 참고.

 

다시 한번 짚고 넘어간다.

 

보면 setTimeOut이라는 내장 객체 안에 함수가 들어가 있다. 어떤 특정 이벤트가 발생할 시에, 자동으로 호출되는 함수를 콜백 함수라고 하는데 사용하는 경우는 아래 네 가지로 보면 된다.

 

1.사용자 이벤트 처리

브라우저 화면에서 발생하는 사용자의 이벤트는 예측이 불가능하다.
따라서 이런 화면이벤트를 관리담당하는 녀석에게 우리는 특정이벤트가 발생할 때 호출을 원하는 내용을 callback 함수에 전달하게 된다.

 

2.네트워크 응답 처리

화면단에서 서버에게 요청을 보냈을 때, 그 응답이 언제 올지 알 수 없다.
따라서 이런 서버에 대한 응답처리 등도 비동기적으로 처리해야 한다.

 

3.파일을 읽고 쓰는 등의 파일 시스템 작업

 

4.의도적으로 시간 지연을 사용하는 기능(알람 등)

위와 같이 이벤트 등을 기다리는데 하나뿐인 소중한 스레드를 사용한다면, 또 서버의 응답을 기다리기 위해 하나뿐인 소중한 스레드를 사용한다면…
사용자는 멈춰져 있는 화면을 보게되는 것이다.
위와 같이 스레드의 블록킹을 야기하는 작업은 필수적으로 비동기적 프로그래밍을 해야 한다.

 

+ 콜백함수를 인자로 받을 경우, name 만 입력하면 된다. ()생략.

'Lang > JavaScript' 카테고리의 다른 글

AJAX  (0) 2022.06.06
리마인드  (0) 2022.06.05
exam11 - 25 / drill ( + return 쓰임)  (0) 2022.06.05
exam01 - 10 / drill  (0) 2022.05.27

Asynchronous

JavaScript

And

XML

 

 

기본 개념은 웹 서버와 데이터를 교환하여 웹 페이지를 비동기식으로 업데이트할 수 있도록 하는 것.

즉, 전체 페이지를 다시 로드하지 않고도 웹 페이지의 일부를 업데이트할 수 있도록 하는 technique 이다.

 

이게 뭔소리냐 하면... 예를들어 investing.com에서 경제에 영향을 미칠만한 각종 포럼들의 schedule을 확인해보고 싶다고 하자. 그 페이지의 html을 받아오는 행위 (request) 를 사용자의 get 요청이라고 한다.

 

get 요청 방식에는 세가지가 있는데, 

1. url 직접 입력 하기

2. form tag (버튼 눌러서) 페이지 불러오기

3. ajax로 get 요청이 있다.

 

1, 2번의 문제는 새로고침이 실행되어 화면이 하얗게 변했다가 요청한 html을 불러온다는 것이다. 

그런데 3번은  화면 새로고침 없이 요청한 자료만을 불러오게 된다.. 설명하다보니 예시가 잘못 된 것을 깨달았다...

 

다시.

 

만약 내가 youtube에서 영상을 보다가 comment 확인을 하고 싶어 comment 버튼을 눌렀을 때, 유튜브 전체가 새로고침되는 것이 아니라 comment만 확인이 가능하다. 이것은 ajax 덕분인 것이다.

 

Ajax 활용 예시.

<script>
	fetch('response해줄 url') //fetch 기본함수를 이용해 해당 url로 get요청 날려준다.
    .then((response) => { //response 콜백 함수로 입력.
    	return response.json() // 요청한 데이터 리턴값으로.
     })  //결과 가져오기
	.then((결과) => { //parsing 한 결과 가져오기.
    	console.log(결과)
     })
</script>

 

'Lang > JavaScript' 카테고리의 다른 글

Asynchronous(동기) vs Synchronous(비동기)  (0) 2022.06.06
리마인드  (0) 2022.06.05
exam11 - 25 / drill ( + return 쓰임)  (0) 2022.06.05
exam01 - 10 / drill  (0) 2022.05.27

Spring과 Boot 들어가기전에 JS 관련 내용 정리 좀 다시 정리 하려고 한다.

어디서부터 어디까지 다시 보는게 좋을 지 잘 모르겠지만 어차피 끝은 없으니.. 선 시작.. 

 

Javascript : 정적인 HTML 콘텐츠를 프로그램 구현 통해 동적으로 변경하거나 데이터를 받고 내보내는 담당을 하게된다.

Object 기반의 스크립트 언어로,  Node.js와 같은 프레임 워크 사용하면 서버 프로그래밍에도 사용할 수 있다.

                                                                                                                      => 웹 브라우저에 인터프리터가 내장 되어있다

 

Javascript의 core function 크게 4가지

 

1. 유효성 체크 : 데이터가 DB에 저장될 수 있는지, 부족한 것은 없는지 검사

(말은 유효성이라고 거창한데, 그냥 조건 걸어서 사용자 입력값을 DB에 넣을지 뺄지 확인하는 거다.)

2. html 태그 컨트롤

3. Ajax를 통한 웹서와의 데이터 통신

4. 동적인 메뉴 제작. 이미지 효과 등. ->

이미지나 메뉴 blinking, blur 같은 효과는 css 구문 자체로도 있기는 한데, script 태그 안에 function 넣는게 젤 편하다. 지저분하게 CSS 구문이나 HTML 구문을 늘리는 것, 또는 html태그 안에 포함시키는거보다 function만 js파일에 따로 모아놓는게 나중에 코드 수정할때 편하다.

 

변수 선언 방식

1. var :  변수를 선언하고 추가로 동시에 값을 초기화 한다. 

2. let 블록 내 지역 변수를 선언 & 값 초기화

3. const  지역내에 읽기 전용 상수 선언. (Ex clock 과 같은 function 들은 const로)

 

내장함수

1. eval(문자열) : 문자열을 수식으로 변환
2. Number(문자열) : 문자열을 숫자로 변환, 정수/실수 가리지 않고 숫자로 변환
3. parseInt(문자열) : 문자열을 정수로 변환
4. isNaN(문자열) : 문자열이 숫자형식이 아니면 true, 숫자형식이면 false -> Not-A-Number(숫자가 아님)
5. alert(문자열) : 문자열을 대화상자로 출력
6. confirm(문자열) : 문자열을 확인/취소 대화상자로 출력
7. prompt(문자열) : 문자열이 제목으로 표시되는, 값을 입력받기 위한 대화상자 호출

 

Math함수는 java와 기본적으로 동일.

1. Math.ceil() : 소수점 올림, 정수 반환

2. Math.floor() : 소수점 버림, 정수 반환

3. toFixed() : 숫자에서 원하는 소수점 길이만큼만 반올림하여서 반환.

 

 Return.

(1) 주어진 값을 호풀 지점으로 반환

(2) function을 벗어남 -> 함수에서 return 문에 도달하면 break처럼 조건문을 나와 다음 코드를 실행하는 것이 아니라, 아예 function 밖으로 나가버린다.

 

'Lang > JavaScript' 카테고리의 다른 글

Asynchronous(동기) vs Synchronous(비동기)  (0) 2022.06.06
AJAX  (0) 2022.06.06
exam11 - 25 / drill ( + return 쓰임)  (0) 2022.06.05
exam01 - 10 / drill  (0) 2022.05.27

1. an exception has been caught while ~

  • 이클립스 껐다 켜기
  • 윈도우-리소스모니터-eclipse, java관련 파일 프로세스 끝내기 후 삭제해보기

 

2. 404 에러 (HTTP 상태 404 - 찾을 수 없음)

  • @WebServlet이나 dispatcher 경로 잘 살펴볼 것. 
  • 윈도우-리소스모니터-eclipse, java관련 파일 프로세스 끝내기 후 삭제해보기

 

3. 500 / 505 에러 

50 에러 메시지를 출력하는 경우는, 서버 상에 예측하지 못한 문제가 발생했음을 말한다. 대표적인 원인 세가지는 

  • 서버 연결의 Time Out 
  • 개발 언어의 문법 오류
  • Traffic 과부하

작업시에 내부서버를 이용하고 있으므로 두 번째에서 답을 찾으면 되겠다.

 

 

4. Error 위치로 short cut 

마우스 커서를 red underlined 지점으로 올리고, CTRL + 1 키를 누르면 문제가 발생한 코드의 위치로 이동한다. 

추가로, 

  • CTRL + , : 현재 커서에서 이전 에러 난 곳으로의 이동
  • CTRL + . : 현재 커서에서 이후 에러 난 곳으로 커서 이동

 

 

5. Stacktrace 발생

jquery 관련 라이브러리를 중복으로 가지고 오면 발생한다고 한다. 아직 에러 해결 중

 

6. Periodic Workspace save

파일탐색기 열고아래의 경로까지 이동 (.plugins/org.eclipse.core.resources/.root/.markers/.snap)

내부에 "RemoteSystemsTempFiles" 파일 생성

 

에러 날때마다 추가 정리

'Utils' 카테고리의 다른 글

Project Import 에러 (Eclipse)  (0) 2022.05.29

+ Recent posts