我在使用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编译器成功编译了这个文件。
答案 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文件夹。