실행
1. Jar 실행
java -classpath {클래스패스} bxcm.app.analyze.AppAnalyzeApplication {분석 타입} {분석 대상}
classpath에는 /libs/app, /libs/dni 하위의 jar, /dni/config 등이 포함되어야한다. |
2. 분석 타입
-
AnalyzeJar: jar파일을 분석하기 위하여 분석할 jar파일의 절대 경로를 분석 대상으로 지정한다.
-
AnalyzeAppHome: class 파일이 배포되어있는 appHome을 분석 대상으로 지정한다.
Application_Home ├─── Application_A │ ├─── classes │ │ ├─── packages…..class ├───Application_B │ ├─── classes │ │ ├─── packages…..class …
-
AnalyzeResources: 서버빌드 완료 후 해당 리소스의 class 분석을 update할 때 사용한다. 분석 대상으로 {Target_Home}/{Commit_id}를 지정한다.
Target_Home (서버 빌드에서 지정) ├─── Commit_Id │ ├─── Application_A │ │ ├─── classes │ │ │ ├─── packages…..class
-
AfterAnalyze: 전체 application의 분석이 끝난 후, application간의 관계를 update하기 위하여 호출하며 별도의 분석 대상의 지정은 필요하지 않다.
사용 예
|
3. shell 활용
Jar로 배포된 프로그램의 경우 간단한 실행을 위하여 shell을 제공하고 있다.
resources/shell/all_app.sh를 실행하여 전체 application의 분석을 실행할 수 있다.
-
변수 수정
BXM_HOME= bxm lib가 모여있는 경로 CLASSPATH= config 폴더가 위치할 경로 APP_HOME= 분석 대상이 되는 application이 있는 경로 JAVA_BIN=$JAVA_HOME/bin/java
위와 같이 변수에 해당하는 경로를 지정하여 준 다음 아래에 진행되는 코드를 통해 설치 가이드에서 업로드 한 library들을 참조할 수 있도록 수정한다.
# set classpath for f in `find $BXM_HOME/libs/app -type f -name "*.jar"` do CLASSPATH=$CLASSPATH:$f done for f in `find $BXM_HOME/libs/dni -type f -name "*.jar"` do CLASSPATH=$CLASSPATH:$f done for f in `find $BXM_HOME/dni/bin -type f -name "*.jar"` do CLASSPATH=$CLASSPATH:$f done
-
Shell의 실행
sh all_app.sh
shell을 실행하면 AppHome 하위에 위치한 전체 어플리케이션의 영향도 분석이 실행된다.
다른 영향도 분석을 위해서는 shell의 수정이 필요하다.