我在linux上编译一个小项目,它的src文件夹的内容如下:
ll src
总用量 52
-rw-r--r--    1 root     root         8274  8月 22 22:07 HumanResourceClient.java
-rw-r--r--    1 root     root         7916  8月 22 22:07 ReserveEquipmentMsgBean.java
-rw-r--r--    1 root     root         7294  8月 22 22:07 ReserveOfficeMsgBean.java
-rw-r--r--    1 root     root        12523  8月 22 22:07 SetupOfficeBean.java
-rw-r--r--    1 root     root         1623  8月 22 22:07 SetupOfficeLocalHome.java
-rw-r--r--    1 root     root         1707  8月 22 22:07 SetupOfficeLocal.java
这是sun提供的一个例子,在这里其实第一个文件HumanResourceClient.java 的package是client,而其它文件都属于同一个package eb。我不知道sun为何在src目录下没有按照源代码里申明的package组织目录结构。
我在src的同级建立了一个目录:clientmdbentity.jar,我希望把编译后的东东都放在这个文件夹里面。我遇到的问题如下:
1:我在src的上级目录下使用如下命令:
javac -sourcepath ./src/*.java -classpath /root/jboss-4.0.4.GA/client/jbossall-client.jar -d ./clientmdbentity.jar
执行后我检查clientmdbentity.jar目录,里面只建立了一个eb目录,凡属于eb这个包的class文件都生成在eb目录下。可是应该还有一个client目录和eb处于同一个级别,但是client目录没有生成。也就是说HumanResourceClient.java这个文件没有被编译。但编译时没有报任何错误信息。2:今天我在这里看了一个关于javac的置顶帖子,抱着试试的态度,先进入src目录,我使用了如下命令来编译:
javac  -d ../clientmdbentity.jar/  -classpath /root/jboss-4.0.4.GA/client/jbossall-client.jar *.java
结果发现clientmdbentity.jar/里面生成了client目录,就是说所有java文件都编译成功了。请教各位高手,我的这两个编译方法有什么区别?为何会有不同的结果?非常感谢大家。