javac无法找到导入

时间:2013-07-06 04:55:53

标签: java javac java-bytecode-asm

我在使用javac编译文件时遇到问题。

我的编译命令是:

C:\Work>javac -classpath "%CLASSPATH%;C:\Users\Me\Downloads\asm-4.1-bin\asm-4.1\src" wDump.java

结果:

wDump.java:3: error: package org.objectweb.asm.attrs does not exist
import org.objectweb.asm.attrs.*;
^
1 error

该包装肯定存在。它与所有其他ASM导入在同一目录树中。 attrs是一个包含单个HTML文档的空包。

wDump.java文件还包含

import org.objectweb.asm.*;

编译器找到的没有任何问题。

如果我评论问题导出(org.objectweb.asm.attrs。*), 文件编译成功。我还应该注意Eclipse编译器成功编译了这个文件。

3 个答案:

答案 0 :(得分:0)

您可能需要sourcepath而不是classpath

答案 1 :(得分:0)

使用以下内容:

javac \
-sourcepath src \
-your_jar_path/your.jar:. \
your_class_path/your.java \
-d classes

答案 2 :(得分:0)

如果您的代码在评论import行时进行了编译,那么您不需要它并可以将其删除。

如果要使用它,请检查attrs是否是包的正确名称,因为似乎import org.objectweb.asm.*;正在运行。并检查attrs是否实际上是一个包,并且该文件夹实际存在于asm文件夹中。您还可以检查attrs文件夹中是否存在类文件。

attrs源zip中的asm文件夹只包含一个没有任何类的html页面。尝试删除此文件夹(如果您不确定,可以将其保存在其他目录中)并通过imports工具再次生成ASMifier。如果文件夹不存在,则该工具可能不会自动生成导入。

除非您要修改这些外部源,否则不应使用外部源代码来编译代码。使用添加到类路径中的jar文件来编译代码。 在asm-all-4.1 jar文件中,没有attrs文件夹。