运行 java 程序使用多个文件夹中的包
Running java program using packages in multiple folders
我正在尝试 运行 具有以下结构的程序:
+src
+gui
-XL.java
-moreFiles.java
+menu
-guiFiles.java
+util
-utilFiles.java
+extra
-extraFiles.java
我正在尝试通过调用
来编译代码
javac gui/XL.java
哪个成功了。
当我尝试 运行 将代码与
java gui.XL
我收到以下错误消息:
Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: java/lang/invoke/StringConcatFactory
at gui.XL.<init>(XL.java:25)
at gui.XL.main(XL.java:58)
Caused by: java.lang.NoClassDefFoundError: java/lang/invoke/StringConcatFactory
... 2 more
Caused by: java.lang.ClassNotFoundException: java.lang.invoke.StringConcatFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
我想我的类路径有一些问题,但我不知道如何修复它。有人有什么建议吗?
我的问题与类路径无关,或者我没有使用 IDE。我的问题来自于我正在将 'java' 命令更改为 运行 我的 java-openjdk-8 但我的编译器仍然 运行 和 java-openjdk -9。因此解决方案是
sudo update-alternatives --config javac #Change to java 8
sudo update-alternatives --config java #Change to java 8
我正在尝试 运行 具有以下结构的程序:
+src
+gui
-XL.java
-moreFiles.java
+menu
-guiFiles.java
+util
-utilFiles.java
+extra
-extraFiles.java
我正在尝试通过调用
来编译代码javac gui/XL.java
哪个成功了。 当我尝试 运行 将代码与
java gui.XL
我收到以下错误消息:
Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: java/lang/invoke/StringConcatFactory
at gui.XL.<init>(XL.java:25)
at gui.XL.main(XL.java:58)
Caused by: java.lang.NoClassDefFoundError: java/lang/invoke/StringConcatFactory
... 2 more
Caused by: java.lang.ClassNotFoundException: java.lang.invoke.StringConcatFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
我想我的类路径有一些问题,但我不知道如何修复它。有人有什么建议吗?
我的问题与类路径无关,或者我没有使用 IDE。我的问题来自于我正在将 'java' 命令更改为 运行 我的 java-openjdk-8 但我的编译器仍然 运行 和 java-openjdk -9。因此解决方案是
sudo update-alternatives --config javac #Change to java 8
sudo update-alternatives --config java #Change to java 8