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

 

File class의 많이 쓰는 메소드

f1.mkdir() : 해당 디렉토리 생성. 생성하려는 폴더 직전까지의 경로가 다 생성되어있어야 생성하려는 폴더 생성가능

경로 생성이 제대로 안되어있으면 생성이 안될 뿐 에러발생은 안난다

f1.mkdirs() : 해당 디렉토리 생성. 생성하려는 폴더 직전까지 없는 경로도 같이 생성

f1.creatNewFile()

f1.delete

f1.exists() : 존재하냐?

f1.isFile() : 파일이냐?

f1.getName() : 파일명 get

f1.getAbsolutePath() : 절대경로 반환

f1.getPath() : 상대경로 반환

f1.length() : 파일용량

f1.getParent() : 상위 폴더 경로 반환

 

 

 

 

import java.io.File;
import java.io.IOException;

public class practice_everyday06 {
	
	public static void main(String[] args) {
		
	File f = new File("D:\\file\\file1.txt");		// 경로지정 방법1
//	File f = new File("D:/file.txt");  		// 경로지정 방법2
//	File f = new File("D:/file.txt",true);  // ,true : 파일 내용 추가
		
		f.mkdir();  // 해당 디렉토리 생성. 생성하려는 폴더 직전까지의 경로가 다 생성되어있어야 생성하려는 폴더 생성가능
					// 경로 생성이 제대로 안되어있으면 생성이 안될 뿐 에러발생은 안난다
		f.mkdirs(); // 해당 디렉토리 생성. 생성하려는 폴더 직전까지 없는 경로도 같이 생성
		
		f.exists(); // true
		f.isFile(); // false
		System.out.println(f.exists());
		System.out.println(f.isFile());
		
	File ff = new File("D:\\file\\file2");
		System.out.println(ff.exists()); // false
		System.out.println(ff.isFile()); // false
		
		ff.mkdirs();	// 파일 생성 
		System.out.println(ff.exists()); // true
		System.out.println(ff.isFile()); // false
		System.out.println();
		
		System.out.println(ff.getName()); // file2
		System.out.println(ff.getAbsolutePath());  // D:\file\file2
		System.out.println(ff.getPath()); //상대경로 // D:\file\file2
		System.out.println(ff.length()); 		  // 0
		System.out.println(ff.getParent()); 	  // D:\file
		
		
		
		
		
		
		try {
			f.createNewFile();
		} catch (IOException e) {
			e.printStackTrace();
		} 
		
		
		
	}	
}

 

 

728x90
반응형

+ Recent posts