Jpa 如何从客户端访问javax/persistence/?

Jpa 如何从客户端访问javax/persistence/?,jpa,jakarta-ee,classpath,Jpa,Jakarta Ee,Classpath,从目录target/classes运行javahwai.Main时,我得到一个错误: Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Persistence at hwai.Main.main(Main.java:17) Caused by: java.lang.ClassNotFoundException: javax.persistence.Persistence at java.net

从目录
target/classes
运行
javahwai.Main
时,我得到一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Persistence
at hwai.Main.main(Main.java:17)
Caused by: java.lang.ClassNotFoundException: javax.persistence.Persistence
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
...
当我从目录
target/test1/WEB-INF/classes
这是我在运行
mvn包glassfish:redeploy
后的项目结构:

├── pom.xml
├── src
│   └── main
│       ├── java
│       │   ├── hwai
│       │   │   ├── helloWorld.java
│       │   │   ├── helloWorldResource.java
│       │   │   ├── Main.java
│       │   │   ├── StudentPOJO.java
│       │   │   ├── StudentRest.java
│       │   │   └── Todo.java
│       │   └── META-INF
│       │       └── persistence.xml
│       └── webapp
│           ├── index.html
│           └── WEB-INF
│               └── web.xml
└── target
    ├── classes
    │   └── hwai
    │       ├── helloWorld.class
    │       ├── helloWorldResource.class
    │       ├── Main.class
    │       ├── StudentPOJO.class
    │       ├── StudentRest.class
    │       └── Todo.class
    ├── generated-sources
    │   └── annotations
    ├── maven-archiver
    │   └── pom.properties
    ├── maven-status
    │   └── maven-compiler-plugin
    │       └── compile
    │           └── default-compile
    │               ├── createdFiles.lst
    │               └── inputFiles.lst
    ├── test1
    │   ├── index.html
    │   ├── META-INF
    │   └── WEB-INF
    │       ├── classes
    │       │   └── hwai
    │       │       ├── helloWorld.class
    │       │       ├── helloWorldResource.class
    │       │       ├── Main.class
    │       │       ├── StudentPOJO.class
    │       │       ├── StudentRest.class
    │       │       └── Todo.class
    │       ├── lib
    │       │   ├── commonj.sdo-2.1.1.jar
    │       │   ├── eclipselink-2.7.0.jar
    │       │   ├── javax.json-1.0.4.jar
    │       │   ├── javax.persistence-2.0.0.jar
    │       │   └── validation-api-1.1.0.Final.jar
    │       └── web.xml
    └── test1.war
在网上搜索,我找到了,但都没有帮到我。我是个爪哇新手

pom.xml
包含

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.7.0</version>
</dependency>
<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>javax.persistence</artifactId>
    <version>2.0.0</version>
    <scope>compile</scope>
</dependency>

您需要了解类路径。您正在使用的任何库都必须位于类路径中,否则Java可能无法找到您的代码正在使用的类。这是Java的基础知识。在做像Maven和JPA这样复杂的事情之前先学习基础知识。谢谢从dir
target/test1/WEB-INF/classes调用
java-cp./:../lib/*“hwai.Main
成功了。。。现在我没有为EntityManager提供名为…
的持久性提供程序,这可能是由于Persistence.xml放错了位置(虽然我把它放在类路径中),但这是另一回事…
mkdir-p target/test1/WEB-INF/classes/META-INF
cp Persistence.xml target/test1/WEB-INF/classes/META-INF阅读后得到了帮助
import javax.persistence.Persistence;