728x90

 

이클립스or STS와 Maven(메이븐) 연결

 

window- Preferences - Maven - User Settings

User settings를 참고해서 local respository에서 가져다 씀

 

 

User Settings에서 Browse 눌러서 Maven의 setting.xml을 지정하면 자동으로 setting.xml에서 지정한 경로로 자동으로 local Repository가 바뀐다

메이븐 설정 파일에서 미리 라이브러리 세팅 폴더를 설정해둔 경로로 자동으로 변경된 것

 

Maven(메이븐)의 라이브러리 저장 폴더 변경은 아래의 링크에

https://rise-up.tistory.com/506

728x90
반응형
728x90

 

처음보는거라 뭔가 문제가 있나해서 찾아보니

 

최근 이클립스랑 git 연동 시켰었는데 

Git이랑 연동 시, 아직 커밋해서 올리지 않아 모르는 파일이나 폴더에 ?물음표가 뜨는 것이었다

commit하면 사라진다

728x90
반응형
728x90

 

<이클립스 eclipse 간편단축키>

 

소문자 전체를 대문자로 바꾸는 단축키

ctrl + shift + x

 

코드 자동 생성

alt + shift + s

단축키를 누르면 아래의 창이 뜬다

 

getter & setter 자동 생성

model.vo 클래스에서 필드 부분만 작성 한 후, alt + shift + s해서 Generate Getter and Setter 클릭

아래처럼 자동 생성해준다

 

 

생성자 자동 생성

model.vo 클래스에서 필드 부분만 작성 한 후, alt + shift + s해서 Generate Constructor using Filelds 클릭

 

toString 메소드 자동 생성

model.vo 클래스에서 필드 부분만 작성 한 후, alt + shift + s해서 Generate to String()... 클릭

 

이제 힘들게 model.vo 코드들을 일일히 다 쓸 필요없다. 시간과 에너지를 아끼고 새거 배우는데 집중하자

 

 

728x90
반응형
728x90

 

에러메시지

An error has ocurred. See the log file

 

원인

(추측) pc에서 작업하고 노트북으로 사용할려고 하는데

필자의 경우 드랍박스로 workspace를 연동해놔서 신경안써도 저절로 연동되서

몇달동안 문제없이 잘 사용했었는데 아마도 여기서 뭔가가 꼬인게 아닌가 싶다

 

 

 이클립스를 실행하니 아래와 같은 에러메시지가 떴다. 

처음 본 에러라 매우 당황했는데 일단 해당 로그를 보았다

 

이거 고치느라 참... 거시기했지만...ㅋㅋ

이 에러를 통해서 한가지 또 배운거는 바빠서 놓쳤던 에러메세지들을 log를 통해서 다시 볼 수 있는 점은 큰 수확인 것 같다. 

 

로그파일 보니까 

이런 식인데 사람마다 오류가 다양할 수 있을 것 같다

!ENTRY org.eclipse.osgi 4 0 2022-05-05 14:07:30.856
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1447)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (124).
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:126)
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:571)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:346)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:398)
	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:41)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:473)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 13 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:863)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1015)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365)
	at org.eclipse.osgi.container.Module.doStart(Module.java:603)
	at org.eclipse.osgi.container.Module.start(Module.java:467)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:493)
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
	... 20 more
Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/Servers/JSPServer.server' not found.
	at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:260)
	at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:599)
	at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:54)
	at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:63)
	at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:51)
	at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:91)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:835)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)
	at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:834)

 

사람마다 환경이나 에러 원인이 다를테니 100% 에러가 고쳐지지는 않을테니

내가 찾은 방식으로 한번 시도해보고 잘 해결되기를 바란다

 

해당 프로젝트 파일이 있는 있는 폴더로 가서 .metadata폴더로 들어간다

.metadata - .plugins - org.eclipse.core.resources

org.eclipse.core.resources이 폴더를 삭제하고 다시 실행해보자

이클립스를 재실행하면 이 폴더가 새로 생성되니 걱정할 필요 없고 

필자는 이걸로 해결했다

 

 

 

728x90
반응형
728x90

맨 왼쪽부터 동그라미에 빨간색 x표시 뜬다. 컴파일시 에러난다는 의미이며,
위에를 클릭해보면 스샷처럼 오른쪽에 툴팁으로 어떤 에러가 떴는지 나오며
흰색 배너에 해결책이 제시되고, 그 오른쪽에 노란 배너에 해당 선택지들이 실제로 어떻게 코드가 바뀌는지
미리보여주기가 뜬다
int에 쳐진 위쪽 동그라미 안에 보면 옆은 빨간색으로 밑줄이 쳐져 있는데 이 또한 에러발생을 알려주는 표시이다
다만 주석해서 왼쪽에 x표시가 안뜬 것은 컴파일시에 문제가 없기 때문.


에러는 개발자에게 항상 맞닥드리는 부분이니 개발자가 되기 위해 공부를 막 시작했다면 꼭꼭 숙지해주자!!


728x90
반응형
728x90

절대경로(Absolute Path) & 상대경로(Relative Path)란?

 

리눅스,html 등등 여러곳에서 볼 수 있다고 하며,

필자는 주로 VS code 사용하면서 이 개념들이 나와서 궁금해서 

알아보게 되었다

 

 

1.절대경로(Absolute Path)

전체 경로를 기입하는 방식

c,d드라이브 같은 최상위 디렉토리까지 모두 포함된 경로

OS에서는 절대경로로만 인식이 가능

ex) D:\Dropbox\Developer\python\Workspace_Python\hello world.txt

 

 

2.상대경로(Relative Path)

현재 자신이 속한 디렉토리를 기준으로 작성된 경로

말그대로 상대적인 경로라 비교할 대상이 있어야하며 그 비교대상은 자신이 속한 디렉토리 

컴퓨터 안에서 기준이 되는 경로를 중심으로 절대경로가 구성되는 개념

OS가 상대경로를 인식할 수 있는건 기준이 되는 경로가 상대경로를 절대경로로 변환하여 OS에 전달하기 때문

ex) Workspace_Python\hello world.txt

    or ./../../ Workspace_Python\hello world.txt 식으로 /과.으로 앞 경로들이 생략된다

 

 

※ 상대경로 개발배경 ※

지정하고자 하는 파일의 경로가 자주 변경되는 상황이거나 루트 디렉토리가 서로 다른 OS을 다룰 경우,

매번 새로 경로지정을 해줘야 한다. 바꿔야할 양이 많다면 한숨이 절로 나올 것이다...

리눅스 같은 경우에는 윈도우와 달리 특정 디렉토리 액세스 할 때마다 풀경로를 다 적어줘야 한다고한다.

 

 

728x90
반응형
728x90

이클립스(Eclipse) 설치 & 사용법

 

이클립스 세팅

인코딩 방식 UTF-8로 변환해두기

안하면 파일 다 깨져서 난리남...

https://parkjye.tistory.com/35

 

이클립스(Eclipse) 종류

EE(기업용),자바개발자용,안드로이드 개발자용, c/c++개발자용

 

 

디버깅 degguing

프로그램 에러를 잡는

 

 

<이클립스 사용법>

오른쪽 동그라미 (perspective)에서 화면을 다른 기능을 있게 전환가능

 - 디버그, java, git 등등

 

 

뷰마다 타이틀 줄을 더블클릭하면 큰화면으로 전환되고, 드래그로 위치도 변경가능

또한, 프로그램 상단에 windows탭에서 view 열고 닫고 설정 가능

 

 

이클립스에서는 프로그램을 프로젝트 단위로 작성함. 새로운 프로젝트를 생성해야함

 

 

 

java 프로젝트 생성 - class 생성

  • class 첫글자는 무조건 대문자로

 

 

이클립스에서는, 파일을 저장할 때마다 자동적으로 컴파일 해주기에 따로 컴파일 필요x

아래의 화면이 이와 관련된 것이고, 파일이 저장되지 않았고 따라서 컴파일도 되지 않았으므로 묻는

 

 

*이클립스(Eclipse) 자동 컴파일 기능

프로그램 상단 Project - Build automatically(자동 빌드(=자동 컴파일))

이게 체크 되어있는 것은 파일을 저장할 자동으로 컴파일해라는 의미

 

빌드 본래의 의미는 소스파일로부터 프로그램을 만들어내는 과정을 의미

 

간단한 자바프로그램을 만드는거고 다른 과정없이 단순히 컴파일만 하면 되니 지금은 build automatically 컴파일을 자동으로 하라는 뜻으로 이해하면

 

 

 

왼쪽에 package explorer에는 현재 Hello.java파일만 보이고 class파일이 안보이는 것은,

package explorer 뷰는 프로젝트를 소스파일 위주로 보여주기 때문

 

이렇기에 클래스파일 생성여부를 확인하려면,

탐색기로 보거나 네비게이터 뷰를 열어서 확인 (상단 window - show view - navigator클릭. navigator창이 새로생김)

 

네비게이터 뷰는 윈도우 탐색기처럼 모든 파일을 보여줌

.으로 시작하는 .classpath .project 같은 파일은 이클립스에서 관리용 파일로 만든 것이니 만지지 않는게 좋다

 

 

 

자바 이클립스 에러 체크 방법

 

 

 

파일이 수정됬지만 아직 저장되지 않았다는 의미

 

 

<이클립스에서 자바 프로그램 작성하는 순서>

 

1.프로젝트 생성

 메뉴 file - new - java project

 

2.클래스 생성

 project 이름 위에서 우클릭 - new - Class

 

3.소스 파일 작성 저장(자동 컴파일됨)

 

4.실행

 메뉴 run - run

 

 

 

Build 관련 메뉴 설명

 

 

Build?

소스파일(*.java)로부터 프로그램을 만들어내는 과정

 

  • Build All : workspace의 모든 프로젝트를 빌드
  • Build Project : 현재 프로젝트만 빌드(단, 변경된 소스파일나 새로 작성된 소스파일만 컴파일함)
  • Build Automatically : 소스파일 변경 후, 저장할 때마다 자동 컴파일
  • Clean : 이전 빌드의 정보를 모두 삭제(모든 소스파일을 새로 컴파일)                                                               - 간혹가다  이유없이 프로그램이  실행되지 않을 경우 clean하고 하면 해결되는 경우가 있음

 

 

728x90
반응형

+ Recent posts