Eclipse IDE for Java Developers - Java Project 에서, Modulepath 와 Classpath
내가 Modulepath 와 Classpath을 인식하게 된 계기가되는 한가지 일화가 있다
그 일화는 글의 아래부분에 남겨뒀다
Java Project - Java Build Path - Libraries에는 Modulepath 와 Classpath 2가지 로 나뉜다
이둘에대해선 ... 좀 검색을 해봤는데 솔직히 이해가 잘 안된다 ..
나중에 기회되면 다시 공부하려고 한다
JRE System Library는 Modulepath에 속해있다
Java Project - Java Build Path - Libraries에 있는 Classpath는
workspace에 있는 해당 프로젝트 폴더안 .classpath파일과 연관이 있다
.classpath파일을 메모장으로 열어보면
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="~" path="~"/>
~~
</classpath>
이런식으로 되있는데 xml형식으로 되어있다

일화
그 사건은 바로
Java Project에서 jsoup을 이용해 웹 크롤링을 연습하려고 했다가 마주한 오류였다
JRE System Library [JavaSE-15] 로 되있고
Java Build Path - Libraries - Modulepath에 Add External JARs 통해 jsoup-1.14.3.jar 을 추가해
Referenced Libraries에 jsoup-1.14.3.jar 이 세팅된 상황
적절히 코드를 작성해 돌려보니
Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup
at test01.Ex01.main(Ex01.java:20)
Caused by: java.lang.ClassNotFoundException: org.jsoup.Jsoup
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
이런 에러가 나온다.... omg
근데 다행히도 비교적 쉽게 해결하였다
해결책은 바로
Java Build Path - Libraries - Modulepath 가 아니라
Java Build Path - Libraries - Classpath에 Add External JARs 했더니 됐다!