我在Oracle的Java教程中尝试过这两个例子.它们都编译得很好,但在运行时,都会出现这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: graphics/shapes/Square
at Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: graphics.shapes.Square
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Run Code Online (Sandbox Code Playgroud)
我想我可能将Main.java文件放在错误的文件夹中.这是目录层次结构:
graphics
? Main.java
? shapes
| ? Square.java
| ? Triangle.java
? linepoint
| ? Line.java
| ? Point.java
? spaceobjects
| ? Cube.java
| ? RectPrism.java
Run Code Online (Sandbox Code Playgroud)
这是Main.java:
import graphics.shapes.*;
import graphics.linepoint.*
import graphics.spaceobjects.*;
public class Main {
public static void main(String …Run Code Online (Sandbox Code Playgroud) 我对这两个术语感到困惑.
另外我应该怎么做才能在Spring MVC项目的src文件夹下创建一个文件?当我使用File对象创建时,它在C:\ SpringSourceTool中创建文件......我想这是ClassPath对吗?
如何获取applicationcontext应用程序的文件夹或根目录?
我想在 Eclipse 中的 Java 9 模块化项目上使用 JUnit 5 运行测试,没有 Maven、Gradle 或所有那些花哨的东西。所以我有src/main/javamodule-info.java 和模块包所在的路径,以及src/test/java所有测试类所在的路径。在 Jigsaw 模块系统之前,一切照旧。我有 Eclipse Oxygen.3a (4.7.3a) 和 Java 10.0.1。
我看过一些来自 Eclipse 的视频,展示了如何将 JUnit 测试添加到模块化项目中,但这让我required大吃一惊:他们将关键字放入模块的 module-info.java 中,将其绑定到 JUnit 模块。这实际上是正确的吗?
我也看到了所有这些--patch-module/--add-reads解决方案(当我们谈论在控制台中工作时),这似乎是正确的方法,但我不知道如何在 Eclipse 中实现而不绑定被测模块到 JUnit 模块。这甚至可能在 Eclipse 中(没有 Maven 等)吗?