在使用package为一个小程序打包,编译时候在cmd输入javac -d.Hello.java
为什么提示找不到文件呢?错误如下:javac:找不到文件:—d.Hello.java检查过很多次了,程序没有问题,文件后缀也没有问题。而且如果不打包,直接编译是可以通过的...
为什么提示找不到文件呢?错误如下:javac :找不到文件:—d.Hello.java 检查过很多次了,程序没有问题,文件后缀也没有问题。而且如果不打包,直接编译是可以通过的,谢谢大侠指教!
展开
3个回答
展开全部
javac -d的参项是指“指定放置生成的类文件的位置”,不是打包用的参项???
追问
-d后边加了个点,这表示的是在当前目录下生成
追答
你要在java study里建立demo目录,然后在demo里建立java目录,再将Hello.java放在demo\java里。编译时候要确定java study是当前目录,然后输入命令:
javac -d . demo\java\Hello.java
执行时候要确定java study是当前目录,然后输入命令:java demo.java.Hello
Java 中的“包(package)” 是一个比较重要的概念,“package”是这样定义的:
Definition: A package is a collection of related classes and interfaces that
provides access protection and namespace management.
也就是说:一个包就是一些提供访问保护和命名空间管理的相关类与接口的集合。使用包的目的就是使类容易查找使用,防止命名冲突,以及控制访问。说明白点就是相当于C++的命名空间使用(using namespace yourNameSpace)和执行时类路径的寻找访问(如上例,demo.java是类寻找访问的路径(以.代替\的路径),Hello才是要执行的类)。
如果指定package,编译时的javac也需要具体的java源文件路径,只不过这个路径代表了java源文件所在的位置,而不是类的寻找访问路径。
总之,在javac时,package表示java源文件位置路径;在java时,package表示类寻找访问的路径。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
javac -d . Hello.java 带包编译,d和点直接有空格 点代表当前
路径 你也可以指定其他路径 如,D:\
路径 你也可以指定其他路径 如,D:\
更多追问追答
追问
谢谢你的回答,但貌似还是不可以……
追答
前提是你必须在 Hello.java这路径下 才能这样使用。否则
javac -d . D:\Hello.java
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询