2009-11-25 3 views
9

자바 프로젝트가 있으며 내부적으로는 asm jar에 종속됩니다. 이상하게도 왜 내 프로젝트가 어떻게 든이 라이브러리에 종속적인지 알지 못합니다 (은 전이 종속성으로 인해 Maven에서 가져올 수 있습니다)?ASM jar - 왜 내 자바 프로젝트에 이것에 대한 의존성이 있습니까?

아무도 내가 을 알고 도울 수 있습니다. 왜 어떤 사람은 ASM JAR이 필요합니까?

미리 감사드립니다.

편집 : asm jar이 필요한 용도/사용 사례에 대해 언급 할 수 있습니까?

+1

ASM : asm.ow2.org - 코드 품질을 측정하기위한 클래스 파일 도구로 사용할 수 있습니다. –

+0

Andreas, 맞다면, asm이 이미로드 된 바이트 코드의 바이트 코드에서 일부 조작을 수행하는 데 도움이된다고 말하고 있습니까? JVM? – peakit

답변

12

ASM는 바이트 코드 조작 프레임 워크 (멋진 도입 this page 참조) 많은 수행하는 것 ... 바이트 코드 조작에 의해 사용되는 : 프레임 워크를 조롱 프록시 생성 및 반사 (봄, 최대 절전 모드 등)를 사용하여 프레임 워크 (EasyMock, JMock 등), 코드 분석 도구 (PMD, Findbugs 등)를 포함합니다. 사실, ASM 프로젝트는 카테고리별로 구성된 users의 목록을 유지 관리합니다.

Vincent가 언급했듯이 ASM에서 천천히 변한다면 위의 PMD와 Findbugs 링크를 참조하십시오. 그러나 이것은 당신이 사용하고있는 Maven 플러그인의 의존성을 고려하지 않고 프로젝트의 의존성만을 고려합니다.

1

프로젝트에 어떤 다른 종속성이 있습니까? 내가 요구하는 항아리 중 하나 (예 : 봄 또는 최대 절전 모드) 에 asm.jar이 필요합니까?

+0

Brian, 내 프로젝트에서 Spring을 많이 사용하고 있습니다.하지만 Spring에서 asm이 필요한 이유는 무엇입니까? 그냥 궁금해서 ... – peakit

+0

모르겠다. 고백한다. 그것은 측면에 대한 바이트 코드 주입을 수행 할 수 있지만, 나는 그것을 점검 할 것이다. –

+0

절대 신경 쓰지 마세요! 아직도 포인터에 대한 감사. – peakit

3

Maven-2는 응용 프로그램을 컴파일하고 실행하려면 asm.jar이 필요합니다.

Here 자세한 내용은

편집 : 때문에 프로그램 분석, 생성의 여러 가지 용도에

및으로 변환시키는 mation의 기술, 분석, 생성하고 여러 언어에 대한 구현 된 프로그램을 변환하기 위해 많은 도구, 자바 포함 . ASM은 중 하나이며 런타임 용으로 설계되었지만 오프라인 클래스 생성 및 변환을 위해 설계된 Java 언어 용 도구입니다. 따라서 ASM1 라이브러리는 컴파일 된 Java 클래스에서 으로 작업하도록 설계되었습니다. 또한 가능한 한 빨리 그리고 작은 수 있도록 설계되었습니다. 런타임에 ASM을 사용하는 응용 프로그램이 너무 많아서 동적 클래스 생성 또는 실행을 지연시키지 않으려면 가능한 한 빨리 수행하는 것이 중요합니다. 메모리가 제한된 환경에서 을 사용하고 ASM을 사용하는 작은 응용 프로그램이나 라이브러리의 크기를 늘리지 않으려면 가능한 한 작아야합니다. ASM은 컴파일 된 Java 클래스를 생성하고 변환하는 유일한 도구는 아니지만 가장 최근의 효율적인 방법 중 하나입니다. 을 http://asm.objectweb.org에서 다운로드 할 수 있습니다. 주요 이점은 다음과 같습니다. 1) 사용하기 쉬운 간단하고 잘 디자인 된 모듈 식 API가 있습니다. 2) 잘 설명되어 있으며 관련 Eclipse 플러그인이 있습니다. 3) 최신 Java 버전 인 Java 6을 지원합니다. 4 작고 빠르며 견고합니다. 5) 대규모 사용자 커뮤니티는 새로운 사용자를 지원할 수 있습니다. 6) 오픈 소스 라이센스를 통해 원하는 방식으로 사용할 수 있습니다.

찾을 수 있음 this pdf 파일 Java EE 6과 함께 클래스 생성 및 변환을위한 ASM 도구가 내장되어 있다는 인상하에 있습니다. PDF는 ASM에 대해 자세히 설명합니다.

희망이 도움이됩니다.

+0

@aforloney, maven-pmd plugin에 대한 종속성이 있습니다. PMD를 사용하고 있지 않습니다. 왜 우리는 asm이 필요한가요? – peakit

+0

나는 pdf를 온라인으로 발견했다, 나는 광고문 안에 그것을 추가했다, 나는 이것이 도움이되기를 바란다. –

+0

Ahh .. as @Andreas_D asm은 클래스 파일을 계측하는 데 사용할 수 있습니다. @aforloney, 왜 메이븐의 PMD 플러그인이 필요할까요? – peakit

1

Maven에 dependency plugin을 사용하여 종속성으로 asm이있는 라이브러리를 확인할 수 있습니다.

+0

Vincent에게 제안 해 주셔서 감사합니다! – peakit

관련 문제