JAVA JEP 연동 방법

Posted by Breeze24
2020. 5. 10. 19:25 카테고리 없음

파이썬이 설치된 PC에서 아래와 같은 순서로 진행하여 JAVA와 JEP를 연동할 수 있다. 

1. JEP Jar 다운로드 

아래 사이트에서 JEP 소스를 다운로드 받는다. 

https://github.com/ninia/jep

 

2. python setup.py build 명령어 실행

.

다운로드 받은 위치로 이동하여 명령프롬프트에서 위의 명령어를 실행한다. 

 

3. JEP Jar Eclipse Import

build\java에 생성된 jep-3.9.0.jar를 Eclipse에 Import 한다. 

4. JAVA에서 JEP 호출하여 테스트 

 

.

Jep jep = new Jep(false,"D:\\phyon\\venv\\Scripts");

jep.eval("Test = 'Hello'");

System.out.println(jep.getValue("Test"));

 

java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 오류 발생 해결 방법

Posted by Breeze24
2020. 3. 15. 12:08 카테고리 없음

톰캣에서 Spring을 적용할 때 아래와 같은 오류가 발생하는 경우가 있다. 

 

 

java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter

                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)

                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)

                at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546)

                at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:527)

                at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)

                at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)

                at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)

                at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4546)

                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5191)

                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)

                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)

                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)

                at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1125)

                at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1859)

                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

                at java.util.concurrent.FutureTask.run(FutureTask.java:266)

                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

                at java.lang.Thread.run(Thread.java:748)

 

해결 방법

제일 먼저 해본 방법은 위의 CharacterEncodingFilter 클래스를 포함한 jar가 빠졌는지 확인했었다. 

확인해본 결과 포함이 되어 있어서 어떤 문제인지 확인하는데, 시간이 많이 소요되었다. 

아래 방법으로 해서 해결할 수 있었다. 

 

.

 

pom.xml에 아래 내용을 추가한다. 

 

        <properties>

               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        </properties>

 

그 뒤에 톰캣을 재기동 했더니, 정상적으로 서비스가 수행되었다. 

.

자바 Enum 사용 이유 및 사용 방법

Posted by Breeze24
2020. 1. 28. 12:49 Java

Enum을 왜 사용해야 하는가?


final static final 상수 형태로 사용을 하게 되면 일부 타입에서 컴파일시 레퍼런스 형태가 아니라 value로 치환을 한다. 
이렇게 상수가 형태로 컴파일을 하게 된다면 해당 상수를 사용하는 모든 클래스들을 재컴파일을 해주어야 한다. 
재컴파일 하지 않을 경우 기존 값을 그대로 사용할 수 있다. 

 

Enum을 어떻게 사용해야 하는가?

아래와 같은 틀을 기본적으로 사용하면 된다. 

.

자바 Enum 사용 방벙

public enum BlogEnum {
	
	EXIST_CODE("EXIST"), NOT_EXIST_CODE("NOT_EXIST");
	
	private String existCode;
	
	BlogEnum(String existCode){
		this.existCode = existCode;
	}
	
	public String getExistCode(){
		return existCode;
	}
}
.