前些天在使用idea软件编写第一条链接数据库网页的时候,出现的调用驱动但找不到包的情况。如图所示:
而在前期@test测试时,情况完好。后经调试后发现,是在项目结构的工件中没有导入Javaconnection的包导致的
将其右键导入至lib中便可解决问题 。
这便引发了对@test和正常程序的编译运行使用机制不同的思考。
我导入的地方是idea中structure的Artifacts.它是属于配置的设置,为idea打包做准备的,当我们运行或debug程序时,是将所有的程序打包成一个.jar包,放于out里:
而我们导入Artfacts时就是将我们需要的.jar 包一起导入,没有提前配置的话,程序运行时则找不到我们所需要的包。
而@test的机制则是依靠Idea里的Junit单元测试,其源代码可以追溯如图:
在进行单元测试时,其会调用我们在structure 中设置的依赖。所以在@test中不用使用Artifacts也可以正常运行。