我正在尝试在maven项目中使用ASM字节代码工程库。我把它放在我的pom中
<dependency>
<groupId>asm</groupId>
<artifactId>asm-parent</artifactId>
<version>3.3.1</version>
</dependency>
但我的代码无法构建,因为没有jar存在。当我检查.m2的内容时,我看到了
ll ~/.m2/repository/asm/asm-parent/3.3.1/
total 40
drwxr-xr-x 6 david staff 204 Oct 25 08:25 .
drwxr-xr-x 5 david staff 170 Dec 24 2013 ..
-rw-r--r-- 1 david staff 156 Dec 18 2013 _maven.repositories
-rw-r--r-- 1 david staff 242 Oct 25 08:25 asm-parent-3.3.1.jar.lastUpdated
-rw-r--r-- 1 david staff 4332 Dec 18 2013 asm-parent-3.3.1.pom
-rw-r--r-- 1 david staff 40 Dec 18 2013 asm-parent-3.3.1.pom.sha1
而且:
[ERROR] Failed to execute goal on project asm-test:
Could not resolve dependencies for project com.example:asm-test:jar:1.0-SNAPSHOT:
Could not find artifact asm:asm-parent:jar:3.3.1 in central
(http://repo.maven.apache.org/maven2),
try downloading from http://mojo.codehaus.org/my-project -> [Help 1]
答案 0 :(得分:3)
asm-parent依赖类型是pom, 尝试以下
<dependency>
<groupId>asm</groupId>
<artifactId>asm-parent</artifactId>
<version>3.3.1</version>
<type>pom</type>
</dependency>
如果您只想使用asm
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
答案 1 :(得分:2)
根据http://mvnrepository.com/artifact/asm/asm/3.3.1建议的用法是这样的:
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
您尝试使用父项目,只定义了一个pom。
顺便说一下,有一个说明: 注意:此工件已移至:新组org.ow2.asm 新神器asm
答案 2 :(得分:2)
2016年的更新,如果您想使用完整的ASM库,可以将其添加到您的POM中:
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
<version>5.1</version>
</dependency>