Intellij에서 톰캣 설정

IT 지식/Intellij|2018. 8. 5. 00:43

이클립스에서 톰캣 서버를 사용할 때 그 톰캣의 원래 config(server.xml)을 사용하지 않고 Extra Config를 사용한다.

인텔리제이를 처음 사용하면서 이 또한 그럴것 같아 찾아봤으나 인텔리제이의 경우 {TOMCAT_HOME}의 설정값을 참조 하고 있다. 

그래서 Tomcat의 수정이 필요한 경우의 tomcat home에 위치해있는 conf/server.xml을 직적 수정해서 사용해야 톰캣 설정이 변경하다.



'IT 지식 > Intellij' 카테고리의 다른 글

Intellij에서 톰캣 설정  (0) 2018.08.05

댓글()

Spring에서 node_modules 하위 폴더 까지 모두 보이지 않도록 filter 설정하기

web/Spring|2018. 6. 12. 10:43

npm을 사용하면 다운받은 모듈들이 저장되는 node_modules가 이클립스에 출력되어 에러를 출력할 때가 있다.


이 부분은 커밋을 하거나 할때도 자꾸 보여서 귀찮은데 이를 보이지 않도록 설정하는 방법을 알아보자.


우선 STS에서 해당 프로젝트의 우측클릭을 하여 propertes에 접속한다.

그 후 Edit Filter 를 눌러서 규칙을 등록해야 한다.


규칙은 Filter Type은 Exclude all 을 선택하고, 모든 하위의 폴더들까지 적용되도록 설정하고

Filter Details에 node_modules를 입력해준다.



이렇게 설정을 진행하고 나면 이클립스 프로젝트 트리에서 node_modules가 사라진것을 확인할 수 있다.

댓글()

shell Listener

RCP/SWT & JFACE|2016. 12. 24. 00:47

shell에 리스너를 추가하여 


shell이 최소화 되었을 때, 다시 최대화 되었을 때, 활성화 됬을 때 종료됬을 때 등


shell 자체의 이벤트에 대한 리스너를 설정할 수 있다. 


  shell.addShellListener(new ShellListener() {


      public void shellActivated(ShellEvent event) {

        System.out.println("activate");

      }


      public void shellClosed(ShellEvent arg0) {

        System.out.println("close");

      }


      public void shellDeactivated(ShellEvent arg0) {

      }


      public void shellDeiconified(ShellEvent arg0) {

      }


      public void shellIconified(ShellEvent arg0) {

      }

    });

댓글()

rcp 구조 및 기초

RCP/RCP|2016. 12. 24. 00:46

WorkbenchAdvisor( 대상 선정)

WorkbenchAdvisor 애플리케이션 생명 주기의  단계전에 작업을 처리한다.

어떻게 그리고 누구를 그릴지 설정한다.

 

Public class ExampleAdvisor extends WorkbenchAdvisor

{

Public String getInitialWindowPerspectiveID() {

}

 

Public void preWindow(IWorkbenchWindowConfigurer configurer) // 워크 벤치 외양에 대한 설정

{

Configurer.setText("test");

Configurer.setInitialSize(new Point(10,10)_);

 

}

 

}

 

 

preStartup() 시작전에 나타낼 부분 사용

prewindowOpen() 윈도우 외양을 워크벤치에서 보이기 전에 설정

 

 

IWorkbenchWindowConfigurer 외양 설정하기

작성하는 워크벤치가 이클립스와 비슷하게 보여도, RCP IWorkbenchWindowConfigurer보다 폭넓은 디자인 유연성을 제공한다.

 

메소드

설명

addEditorAreaTransfer(Transfer)

편집기의 드래그앤드롭을 위해 Transfer 객체를 제공한다.

configureEditorAreaDropListener(DropTargetListener)

드래그앤드롭 이벤트를 위해 필요한 DropTargetListener 설정한다.

createCoolBarControl(Composite)

CoolBar내용을 받기 위한 컨트롤을 명시한다.

createMenuBar()

워크벤치에서 Menu 생성한다.

createPageComposite(Composite)

편집기와 뷰를 위한 컨테이너를 설정한다.

setInitialSize(Point)

워크벤치의 초기 크기를 제공한다.

setShellStyle(int)

워크벤치의 Shell 객체의 스타일 비트를 명시한다.

setShowCoolBar(boolean)

워크벤치에게 CoolBar 화면에 보여야 하는지 알린다.

setShowMenuBar(boolean)

워크벤치에게 메뉴를 화면에 보여야 하는지 알린다.

setShowPerspectiveBar(boolean)

워크벤치에게 다른 워크벤치 퍼스펙티브에서 선택한 바를 보여야 하는지 알린다.

setShowStatusLine(boolean show)

워크벤치에게 상태표시줄을 보여야 하는지 알린다.

setTitle(String title)

워크벤치 애플리케이션을 위해 타이틀을 명시한다.

 

 

 

뷰와 퍼스펙티브 추가

 1.  구축

  • 뷰는 ViewPart 확장하며, ResourceNavigator 같이 사전에 설정한 클래스를 사용하지 않는다 하나의 메소드 createPartControl(Composite) 사용하여 뷰의 외관과 동작을 설정   있다.

Example)

Public class ExampleView extends ViewPart

{

Public void createPartControl(Composite parent)

{

}

 

Public void setFocus() // 사용자가 해당 뷰를 선택하면 불러지는 메소드

{

}

 

}

 

  1. 퍼스펙티브로 워크벤치 윈도우 배치

IPerspectiveFactory IPageLayout 객체를 얻어와서 워크벤치의 외양을 제공하도록 환경 설정한다. IPerspectiveFactory유일한 메소드는 createInitialLayout(IPageLayout) 코드를 간소화 한다.

 

IPageLayout 기본 메소드

 

메소드

설명

addShowViewShortCut(String)

메뉴에서 Window > Show 옵션을 생성한다.

addView(String, int, float, String)

명시한 위치와 크기에 주어진 ID 뷰를 워크벤치에 추가한다.

getEditorArea()

워크벤치 편집기의 ID 반환한다.

isFixed()

레이아웃이 변경가능한지 여부를 반환한다.

setEditorAreaVisible(boolean)

편집기 영역을 보일지 설정한다.

setFiexed()

폼에서 레이아웃을 고정할지 설정한다.

addView IPageLayout에서 가장 주요한 메소드이므로 동작 과정에 대한 이해도가 필요하다하단에는 addView() 파라미터에 대한 설명이다.

  1. viewID : 뷰를 표시하는 문자열(plugin.xml에서 명시함)
  2. Relationship : 정수 값으로 기준 위도우 어디에 뷰가 위치하는지 나타낸다. (IPageLayout.TOP, IPageLayout.LEFT ……)
  3. Ratio : 실수 값으로 뷰에서 기준 윈도우 대비 어느 정도의 비율이어야 하는지 나타낸다.
  4. refID L 기준 윈도우를 나타내는 문자열

 

Example)

Public class ExamplePerspective implements IPerspectiveFactory

{

Public void createInitialLayout(IPageLayout layout)

{

String editor = layout.getEditorArea();

Layout.addView("RCPExample.ExampleView", IPageLayout.RIGHT, 0f, editor);

Layout.setEditorAreavisible(false);

Layout.setFixed(true);

}

}

 

 

WorkbenchWindowAdvisor

  • workbenchAdvisor 통해 선정된 대상을 직접 그리는 부분
  • prewindowOpen() 메소드를 이용하여 초기 크기 제목상태 표시줄툴바 설정 등을 지정한다


댓글()

스플래시 이미지를 png 파일로 할 수 없는이유

RCP/SWT & JFACE|2016. 12. 24. 00:44

Look here http://wiki.eclipse.org/Equinox_Launcher

for some details on the -showsplash argument which controls the initial

displaying of the splash screen in the launcher.

 

There are really three phases to the splash screen when eclipse starts:

1) Native code, before java starts

2) Java calling out to Native code from Main, before OSGi starts

3) Java code working through SWT, after workbench starts

 

For (1) and (2) some platforms may be able to display png, but not all. 

Each plaform has different native implementations, you'll need to see which

ones support png:

- win32 - uses LoadImage with IMAGE_BITMAP

- gtk - uses gdk_pixbuf_new_from_file, gdk_image_new_from_pixbuf. 

- cocoa - uses NSImage

- carbon - uses CGImageSourceRef (or custom bmp code on older systems)

- motif uses custom bmp code

 

If the platform(s) you are developing for can show png, then you might just

be able to name your png as "splash.bmp" and be happy.

 

Otherwise, you will need to wait until SWT is up and running for part (3)

and do your magic with SWT code.

 

출처: <https://www.eclipse.org/forums/index.php/t/169876/>

 

태그 : Eclipse, RCP, Splash

댓글()

대용량 테이블 조회가 가능한 Nattable 예제 실행 방법

RCP/SWT & JFACE|2016. 12. 24. 00:43

TableViewer로는 대용량 데이터를 가져오는데


한계가 있다.


그래서 이클립스에서 제공하는 nattable을 사용하면 조금 더 빠르게 대용량 데이터를


가져올 수 있다.


그 nattable의 예제와 소스코드를 볼 수 있는 방법을 소개한다.


첨부된 파일 두개를 모두 다운 받고


cmd 창에서 다음 명령어를 실행시킨다.


java -cp org.eclipse.swt.win32.win32.x86_64-4.3.jar;NatTableExamples-0.9.0.jar org.eclipse.nebula.widgets.nattable.examples.NatTableExamples


 


관련 주소

https://eclipse.org/nattable/documentation.php?page=getting_started


댓글()

Eclipse GEF 개념 설명

RCP/SWT & JFACE|2016. 12. 24. 00:05

1. GEF(Graphical Editing Framework)?

 말그대로 framework. 그래픽 쪽을 다루기 위한 framework. 모델을 그래픽적으로 다룰 때 쓰는 것. 기본적으로는 MVC(Model - View - Controller) 체제에 맞추어져 있다. 어떠한 정보들은 Model이 갖고 있고, 그것을 화면에 보여주는 역할을 하는 것은 View 쪽에서, 관리하는 것은 Controller 쪽에서 하는 형식이다 각 부분별로 다음 부터 보자.

 

2. Model

GEF 에서의 Model 은 기본적으로 Object 형으로 처리한다.

그리고 모델은 항상 최상위 모델의 child 관계로 존재해야 한다. 예를 들면 최상위 모델을 보여주는 화면의 배경이라고 하면, 모든 모델은 이 배경의 child 로 존재해야 하는 것이다. 또한, Model의 변경을 Controller 에 알려주기 위해서 Listener를 구현할 필요가 있다.

 

 3. View

GEF 에서의 View 는 GEF에 포함되어 있는 draw2d 나 SWT 를 사용해서 구현한다.

 

 

 4. Controller GEF에서는 controller 부분을 EditPart 를 사용해서 구현한다. Contoller는 기본적으로 Model 과 View를 관리하는 역할을 하기 때문에 이와 관련된 부분이 존재한다. 그 중에 하나는 Model과 Controller를 연결하는 EditPartFactory이다. 또한, EditPolicy라는 것이 있는다. 이것은 EditPart에 install 되어서, Command(org.eclipse.gef.commands.command)를 이용해서 EditPart의 동작을 결정한다. Controller에서 하는 일들을 대략적으로 설명하면, user에 의해 model 의 변경이 요청이 들어온다. 이러한 요청은 Request(org.eclipse.gef.Request) 형태로 처리가 된다. 그러면 이러한 Request 형태를 갖고, EditPart는 자신에게 install 되어 있는 EditPolicy를 검토한다. EditPolicy중에 적합한 EditPolicy 를 선택하고, 이 EditPolicy 과 command(org.eclipse.gef.commands.command) 형태로 변경 명령을 내리면, model 변경이 반영되는 것이다.


댓글()

Eclipse 구성

JAVA/eclipse|2016. 12. 21. 23:03

Eclipse


- 종전의 개발 툴은 개발자로 하여금 툴에 갇혀 있또록 만드는 한계가 있었다. 이클립스는 모든 플랫폼을 제공해 주는것을 지향한다. 

- eclipse 기본 플랫폼 위에 각자의 갭라 용도에 맞는 플러그인을 추가하고, 스스로가 업무 환경에 맞춰 개발 환경을 꾸밀 수 있도록 지원한다.



Eclipse plug_in

- 이클립스를 구성하는 각각의 기능 단위.

- 이클립스에서 동작하는 코드조각

- plugin.xml : 해당 플러그인이 다른 플러그인과의 확장점 등을 설명하는 설명서

- icons : 아이콘과 같은 리소스

- com : 컴파일된 자바코드


플러그인 설치 방법

1. 플러그인 파일을 다운 받아서 압축을 푼 후, 내부에 있는 jar 파일을 복사하여 eclipse 폴더 아래 plugins 폴더에 붙여넣고 이클립스를 재시작한다.

2. 이클립스 상단 탭 메뉴 중 Help - Install New Software -add를 선택하고, 다운받을 경로를 입력하여 설치가 가능하다.



Eclipse Framework

- swt : 운영체제가 제공하는 원시 컨트롤 위에 구성된 일반적이고 이식가능한 저수준의 그래픽과 위젯 집합

- JFace : 공통의 사용자 인터페이스 테스크를 위한 모델 기반의 프레임워크

- Wrokbench : 이클립스의 사용자 인터페이스를 구성하는 편집기 뷰, 퍼스펙티브

'JAVA > eclipse' 카테고리의 다른 글

Eclipse 구성  (0) 2016.12.21

댓글()