티스토리 뷰
본 포스팅에서는 특정 class를 포함한 jar 를 찾는 가이드입니다.
특정 class가 어느 library에 포함되어있는지 확인하고자 할때 참고하시기 바랍니다.
시나리오
WildFly modules 내에서 org/wildfly/common/net/HostName class를 가지고 있는 jar 찾기 |
1.먼저, WildFly modules 디렉토리 내에 위치한 모든 jar들을 한곳에 모아야 찾기 쉬울것입니다. 따라서 FindClass라는 디렉토리를 하나 생성해보겠습니다.
[wildfly@k8s-worker~/wildfly13$]mkdir FindClass |
2.다음으로 modules 디렉토리 내의 모든 jar를 찾아서 allclass.sh 파일에 모아보겠습니다.
[wildfly@k8s-worker~/wildfly13$]find ./modules "*.jar" > findclass.sh |
3.findclass.sh는 아래와 같이 확인됩니다.
./modules/system/layers/base/asm/asm/main/asm-6.0.jar ./modules/system/layers/base/ch/qos/cal10n/main/cal10n-api-0.8.1.jar ./modules/system/layers/base/com/fasterxml/classmate/main/classmate-1.3.4.jar ./modules/system/layers/base/com/fasterxml/jackson/core/jackson-annotations/main/jackson-annotations-2.9.5.jar ./modules/system/layers/base/com/fasterxml/jackson/core/jackson-core/main/jackson-core-2.9.5.jar ./modules/system/layers/base/com/fasterxml/jackson/core/jackson-databind/main/jackson-databind-2.9.5.jar ./modules/system/layers/base/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/main/jackson-datatype-jdk8-2.9.5.jar ./modules/system/layers/base/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/main/jackson-datatype-jsr310-2.9.5.jar .... |
4.이 findclass.sh 내에서 확인되는 jar파일을 FindClass 디렉토리에 모아보겠습니다.
before)
./modules/system/layers/base/asm/asm/main/asm-6.0.jar |
After)
cp ./modules/system/layers/base/asm/asm/main/asm-6.0.jar Find/ |
vi 편집기 명령어는 다음과 같습니다. (특수문자의 경우 '\'역슬러시와 함께 사용해야 인식됩니다)
%s/기존내용/변경하고자하는내용/g |
예) :%s/\.\//cp \.\//g
5.변경 완료된 allclass.sh는 아래와 같이 확인됩니다.
cp ./modules/system/layers/base/asm/asm/main/asm-6.0.jar ./FindClass cp ./modules/system/layers/base/ch/qos/cal10n/main/cal10n-api-0.8.1.jar ./FindClass cp ./modules/system/layers/base/com/fasterxml/classmate/main/classmate-1.3.4.jar ./FindClass cp ./modules/system/layers/base/com/fasterxml/jackson/core/jackson-annotations/main/jackson-annotations-2.9.5.jar ./FindClass cp ./modules/system/layers/base/com/fasterxml/jackson/core/jackson-core/main/jackson-core-2.9.5.jar ./FindClass cp ./modules/system/layers/base/com/fasterxml/jackson/core/jackson-databind/main/jackson-databind-2.9.5.jar ./FindClass cp ./modules/system/layers/base/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/main/jackson-datatype-jdk8-2.9.5.jar ./FindClass cp ./modules/system/layers/base/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/main/jackson-datatype-jsr310-2.9.5.jar ./FindClass .... |
6.allclass.sh을 실행하면 FindClass 디렉토리 내부에 .jar파일들이 이동합니다.
7.아래 findclass.sh을 추가로 작성하여 FindClass 디렉토리 내부에 위치시킵니다.
#! /bash/sh LIST=`ls -l *.jar | awk ''` for JAR in $ do echo "===================" echo $JAR echo "===================" jar -tvf $JAR | awk '' | grep $1 done
|
8.아래와 같이 실행합니다.
[wildfly@k8s-worker~/wildfly13$]sh findclass.sh [찾고자하는 class] |
9.아래와 같이 wildfly-common-1.4.0.Final.jar 안에 찾고자하는 class가 있음이 확인됩니다.
[wildfly@k8s-worker~/wildfly13$]sh findclass.sh org/wildfly/common/net/HostName. .. =================== wildfly-clustering-web-undertow-13.0.0.Final.jar =================== =================== wildfly-cmp-13.0.0.Final.jar =================== =================== wildfly-common-1.4.0.Final.jar =================== org/wildfly/common/net/HostName.class =================== wildfly-configadmin-13.0.0.Final.jar =================== =================== wildfly-connector-13.0.0.Final.jar =================== =================== wildfly-controller-5.0.0.Final.jar ===================
=================== ......
|
고맙습니다.
'⑧ IT Sample > ⓢ Shell Script' 카테고리의 다른 글
현재 경로 하위의 jar 파일에 포함된 Class 찾기 (0) | 2019.05.23 |
---|---|
[Shell Script] Shell Script Debugging (0) | 2019.05.23 |
- Total
- Today
- Yesterday
- JBoss
- SA
- API Gateway
- OpenStack
- Architecture
- node.js
- k8s
- aws
- 오픈스택
- apache
- openstack tenant
- openstack token issue
- webtob
- git
- SWA
- Docker
- 쿠버네티스
- jeus
- aa
- wildfly
- JEUS6
- nodejs
- 마이크로서비스 아키텍처
- Da
- 마이크로서비스
- JEUS7
- 아키텍처
- kubernetes
- MSA
- TA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |