java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...

看到这个问题,真心觉得初学入门就用IDE真心不是一个好方法。IDE屏蔽了太多基础知识,比如Java是需要编译的,运行的是编译后的class文件。编译命令有编译参数,执行命令有执行命令的参数。还有环境变量,classpath等。由于IDE对这些细节的自动完成,让很多初学者以为执行的就是他写的Java代码,代码必须放到source folder等等问题都是因为缺乏这些基础知识的了解。

现在回答下题主的问题:

IDE中的source foler指定就是编译时Javac命令的源码目录参数。而target folder或者说class folder就是Javac指定的编译后的class存放目录。同时这个目录又是执行时Java命令的classpath参数的值。Java命令在执行时会从当前命令的classpath和系统环境变量中的classpath中查找运行时需要用的class文件。

因此在IDE中,如果将一个Java代码文件放到非source folder里,首先IDE肯定不会做自动编译操作,因为就不可能有class文件,那么其他的Java代码想引用这个Java代码的时候,会报错找不到该类。

如果手动将Java代码编译并将这个class放到IDE的target folder的对应package 目录下,在IDE就可以引用到这个Java代码,但无法关联对应代码,也就是你引入并使用这个代码,但无法在IDE中通过在使用方跳转到打开这个代码,因为IDE不知道你收到放的class和非source foler的代码是有关系的。

最后,建议题主通过命令行手动编译执行下一个在IDE中可以正常运行的项目。如果能正确编译并正常运行了,那么对于Java基础中编译和运行算是掌握了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值