就是如果我的代码在第 10 行调用了 ModelX 的一个方法, 然后这个代码作为一个模块被另一个代码引用,但是另一个代码排除了 ModelX, 那么第 10 行的这个代码肯定是错误的,但是只要我不会执行到这一行代码,那么程序就可以正常运行,是这样的吧?
代码运行的时候只有在实际被执行到的时候才会报错?
另一个问题是,我们正常编译代码的时候由于会检查,如果有错误代码就会报错而无法正常编译。那么我怎么才能忽略错误正常编译运行?在 javac 和 idea 中怎么指定忽略错误?
其实这也不算问题了,因为我也基本知道了,之所以还会多此一举的问一下,就是看看大家会说些什么,也许就会说到一些我不知道的东西哈。有点类似抛砖引玉吧 哈哈
1
zazalu 2019-10-14 12:45:26 +08:00
排除了 ModelX=报错?
|
2
ycs2019 2019-10-14 12:49:01 +08:00
|
3
jimrok 2019-10-14 13:23:34 +08:00 2
首先,在编译阶段,这样的代码是无法编译的,因为找不到 ModelX。第二,如果你编译后移除 ModelX 的.class 文件,那么在运行期会抛出 ClassNotFound 这种错误,因为 Classloader 载入不了这个类。
|
4
airfling 2019-10-14 13:40:39 +08:00
你这段代码单独做个模块,然后 modalX 也是单独一个模块,依赖采用 provide,各自分别打包就可以了
|
5
chendy 2019-10-14 13:48:52 +08:00
编译是不行的,IDE 有时候可以带错运行是因为增量编译,报错的东西没有重新编译出来
运行的时候,因为一般除了核心类,其他的类都是用到了再加载,所以除非运行到那段代码报了 ClassNotFound,否则不会报错 |