우물안에서 보는 하늘도 맑다

오늘 할일 본문

경단녀에서 "나"로 돌아가기/다양한 시도를 해보자

오늘 할일

몽염이 2022. 10. 3. 20:00
반응형

* JSP 등 웹 구성 파일 들을 euc-kr 에서 utf-8로 변경하기

* Winodow > Preference > General > Workspace 를 클릭하여 UTF-8로 설정함

* Winodow > Preference > Web > CSS Files, HTML Files, JSP File 를 클릭하여 UTF-8로 설정함

* eclipse update software 중 오류 메세지 확인 하고 직접 링크를 입력하여 update

https://download.eclipse.org/technology/m2e/releases/

에서 오류가 발생했고 가장 최신버젼을 찾아 help > install New Software

https://download.eclipse.org/technology/m2e/releases/2.0.5/

 

Eclipse software repository | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, including runtimes, tools and frameworks.

download.eclipse.org

 

 * 오류1

The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports.

Tomcat admin port 를 8080 으로 설정해줌

* 오류 2

톰캣이 started 는 되지만 서버가 올라오다 오류가 남

경고: 셧다운 명령을 읽으려 시도하는 중 IOException이 발생했습니다.
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:961)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:637)
at org.apache.catalina.startup.Catalina.await(Catalina.java:887)
at org.apache.catalina.startup.Catalina.start(Catalina.java:833)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

10월 03, 2022 8:30:51 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 []을(를) 받았습니다.

Tomcat admin port 를 8080 -> 8082

Http/1.1 8081 -> 8080 으로 변경 후 서버올라오고 오류 안남

 

* 오류3

he superclass "javax.servlet.http.HttpServlet", determined from the Dynamic Web Module facet version (4.0), was not found on the Java Build Path

* 오류 4

java.lang.Error: SWT Resource was not properly disposed
at org.eclipse.swt.graphics.Resource.initNonDisposeTracking(Resource.java:172)
at org.eclipse.swt.graphics.Resource.<init>(Resource.java:120)
at org.eclipse.swt.graphics.Image.<init>(Image.java:668)
at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:275)
at org.eclipse.jface.resource.ImageDescriptor.createResource(ImageDescriptor.java:230)
at org.eclipse.jface.resource.DeviceResourceManager.allocate(DeviceResourceManager.java:55)
at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:88)
at org.eclipse.jface.resource.LazyResourceManager.create(LazyResourceManager.java:103)
at org.eclipse.jface.resource.LocalResourceManager.allocate(LocalResourceManager.java:72)
at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:88)
at org.eclipse.jface.resource.ResourceManager.createImage(ResourceManager.java:175)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.getImage(AbstractContributionItem.java:151)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.updateIcons(AbstractContributionItem.java:177)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.update(AbstractContributionItem.java:127)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.fill(AbstractContributionItem.java:264)
at org.eclipse.jface.action.MenuManager.doItemFill(MenuManager.java:729)
at org.eclipse.jface.action.MenuManager.update(MenuManager.java:806)
at org.eclipse.jface.action.MenuManager.update(MenuManager.java:673)
at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRenderer.scheduleManagerUpdate(MenuManagerRenderer.java:1227)
at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRenderer.subscribeUIElementTopicVisible(MenuManagerRenderer.java:213)
at jdk.internal.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4792)
at org.eclipse.e4.ui.workbench.swt.DisplayUISynchronize.syncExec(DisplayUISynchronize.java:34)
at org.eclipse.e4.ui.internal.di.UIEventObjectSupplier$UIEventHandler.handleEvent(UIEventObjectSupplier.java:64)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setVisible(UIElementImpl.java:361)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.updateVisibility(ContributionRecord.java:105)
at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:191)
at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:202)
at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.showMenu(MenuManagerShowProcessor.java:256)
at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.menuAboutToHide(MenuManagerShowProcessor.java:114)
at org.eclipse.jface.internal.MenuManagerEventHelper.showEventPostHelper(MenuManagerEventHelper.java:95)
at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:469)
at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:495)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:259)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1071)
at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:5142)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4774)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1478)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2284)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5028)
at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:237)
at org.eclipse.swt.widgets.Display.runPopups(Display.java:4109)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3639)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

 

* 오류5 

오류를 잡으려다 오류가 더남

Cannot publish to the server because it is missing its runtime environment.

오류 메세지가 나면서 톰캣 포트 변경한 내용이 저장되지 않음.  아래 내용을 따라 서버를 추가하고 문제는 해결되었으나 아래 [오류6] 같은 문제가 발생함

참고 : https://saem-ee.tistory.com/53

* 오류6

정보: 프로덕션 환경들에서 최적의 성능을 제공하는, APR 기반 Apache Tomcat Native 라이브러리가, 다음 java.library.path에서 발견되지 않습니다: [C:\Users\gunhe\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20220903-1038\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Users/gunhe/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20220903-1038/jre/bin/server;C:/Users/gunhe/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.4.v20220903-1038/jre/bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Java\jdk-15.0.1\bin;;C:\Program Files (x86)\ePapyrus\Papyrus-PlugIn-xfa;C:\Program Files (x86)\ePapyrus\Papyrus-PlugIn-xfa\Addins;C:\Users\gunhe\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Java\jdk-15.0.1\bin;;C:\Program Files (x86)\ESTsoft\ALSee\x64;C:\Users\gunhe\eclipse\java-2022-09\eclipse;;.]
10월 03, 2022 9:19:56 오후 org.apache.coyote.AbstractProtocol init
정보: 프로토콜 핸들러 ["http-nio-8080"]을(를) 초기화합니다.
10월 03, 2022 9:19:56 오후 org.apache.catalina.startup.Catalina load
정보: [2380] 밀리초 내에 서버가 초기화되었습니다.
10월 03, 2022 9:19:56 오후 org.apache.catalina.core.StandardService startInternal
정보: 서비스 [Catalina]을(를) 시작합니다.
10월 03, 2022 9:19:56 오후 org.apache.catalina.core.StandardEngine startInternal
정보: 서버 엔진을 시작합니다: [Apache Tomcat/10.0.26]
10월 03, 2022 9:19:57 오후 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
경고: [SHA1PRNG] 알고리즘을 사용하여, 세션 ID를 생성하기 위한 SecureRandom 객체를 생성하는데, [109] 밀리초가 소요됐습니다.
10월 03, 2022 9:19:57 오후 org.apache.coyote.AbstractProtocol start
정보: 프로토콜 핸들러 ["http-nio-8080"]을(를) 시작합니다.
10월 03, 2022 9:19:57 오후 org.apache.catalina.startup.Catalina start
정보: 서버가 [1158] 밀리초 내에 시작되었습니다.
10월 03, 2022 9:20:37 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 [GET / HTTP/1.1]을(를) 받았습니다.
10월 03, 2022 9:20:38 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 [GET / HTTP/1.1]을(를) 받았습니다.
10월 03, 2022 9:20:38 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 [GET / HTTP/1.1]을(를) 받았습니다.
10월 03, 2022 9:20:38 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 [GET / HTTP/1.1]을(를) 받았습니다.
10월 03, 2022 9:20:43 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 [GET / HTTP/1.1]을(를) 받았습니다.
10월 03, 2022 9:20:44 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 [GET / HTTP/1.1]을(를) 받았습니다.
10월 03, 2022 9:21:14 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 [GET / HTTP/1.1]을(를) 받았습니다.
10월 03, 2022 9:21:24 오후 org.apache.catalina.core.StandardServer await
경고: 셧다운 명령을 읽으려 시도하는 중 IOException이 발생했습니다.
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:961)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:637)
at org.apache.catalina.startup.Catalina.await(Catalina.java:887)
at org.apache.catalina.startup.Catalina.start(Catalina.java:833)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

10월 03, 2022 9:21:24 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 []을(를) 받았습니다.
10월 03, 2022 9:21:34 오후 org.apache.catalina.core.StandardServer await
경고: 셧다운 명령을 읽으려 시도하는 중 IOException이 발생했습니다.
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:961)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:637)
at org.apache.catalina.startup.Catalina.await(Catalina.java:887)
at org.apache.catalina.startup.Catalina.start(Catalina.java:833)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

10월 03, 2022 9:21:34 오후 org.apache.catalina.core.StandardServer await
경고: 유효하지 않은 셧다운 명령 []을(를) 받았습니다.

 

https://hdhdeveloper.tistory.com/62 개발자님 블로그의 3가지 방법중 Tomcat clean 하고 문제 해결됨

* 오류7

프로덕션 환경들에서 최적의 성능을 제공하는, APR 기반 Apache Tomcat Native 라이브러리가, 다음 java.library.path에서 발견되지 않습니다

https://hermeslog.tistory.com/432

헤르메스님 블로그에 따르면 로컬환경에서 톰캣이 떴을 때 나는 오류가 아님,  외부환경과 내 톰캣이 연결될때 사용하는 부분이라 로컬에서 필요치 않으니 무시해도 되는 에러메세지라고 함

거슬리면 xml 에 해당 부분을 주석처리 하여 오류가 안뜨게 할 수 있다고 함

하지만 나는 그냥 냅두기로 함

근데... 왜 고양이 안뜨지....

 

* 오류 8 

Multiple annotations found at this line:
- The superclass "jakarta.servlet.http.HttpServlet", determined from the Dynamic 
 Web Module facet version (5.0), was not found on the Java Build Path
- The superclass "jakarta.servlet.http.HttpServlet", determined from the Dynamic 
 Web Module facet version (5.0), was not found on the Java Build Path

 

 

 

* 참고

* 블로그

https://travelbeeee.tistory.com/482

https://mkil.tistory.com/424

* 책 - JSP Servlet 웹프로그래밍

 

반응형