从目录java hwai.Main
运行target/classes
时,出现错误:
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)
...
我从目录java hwai.Main
运行target/test1/WEB-INF/classes
时遇到相同的错误
运行mvn package 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
搜索互联网后,我发现了Eclipse Warnings: class javax.persistence.* not found和java.lang.NoClassDefFoundError: javax/persistence/Persistence,但都没有帮助我。我是个javaee新手。
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>
Main.java中的import
-语句是
import javax.persistence.Persistence;