Java “上的错误”;“包不存在”;在使用Maven时
我正在使用Maven构建HelloWorld程序。但我失败了Java “上的错误”;“包不存在”;在使用Maven时,java,hibernate,maven,Java,Hibernate,Maven,我正在使用Maven构建HelloWorld程序。但我失败了 mvn package 错误消息包括: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project QuickStart: Compilation failure: Compilation failure: [ERROR] /Users/xxx/ja
mvn package
错误消息包括:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project QuickStart: Compilation failure: Compilation failure:
[ERROR] /Users/xxx/java/QuickStart/src/main/java/hello/Greeting.java:[3,43] package org.hibernate does not exist
[ERROR] /Users/xxx/java/QuickStart/src/main/java/hello/Greeting.java:[8,9] cannot find symbol
[ERROR] symbol: class Session
[ERROR] location: class hello.Greeting
我发现如果我手动编译Greeting.java,一切都会正常工作,原因是什么?多谢各位
java非常简单:
package hello;
import org.hibernate.Session;
public class Greeting {
public Greeting() {
Session session;
}
}
我的pom.xml是从spring.io复制的:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>QuickStart</groupId>
<artifactId>QuickStart</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.7.Final</version>
</dependency>
</dependencies>
</project>
4.0.0
快速启动
快速启动
1.0-快照
罐子
org.hibernate
冬眠核心
5.0.7.1最终版本
尝试添加此依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
org.springframework
spring上下文支持
实际上,org.springframework.context.support
不在pom.xml中的任何包中。
您需要添加spring上下文支持
依赖项来运行此代码
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring-framework-version}</version>
</dependency>
org.springframework
spring上下文支持
${spring框架版本}
虽然在您的情况下,这似乎不是问题,但当依赖项的作用域为运行时时,也可能出现这些症状,例如:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.7.Final</version>
<scope>runtime</scope>
</dependency>
org.hibernate
冬眠核心
5.0.7.1最终版本
运行时
当然应该改成
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.7.Final</version>
</dependency>
org.hibernate
冬眠核心
5.0.7.1最终版本
请注意,您还应该在pom中定义一个spring framework版本
属性,否则这将不起作用。谢谢。我使用hibernate将我的示例更改为易于理解的示例。但问题依然存在。我该怎么办?手动complie Greeting.java工作…这是正确的方法,因为您也有父BOM。谢谢。我使用hibernate将我的示例更改为易于理解的示例。但问题依然存在。我该怎么办?手动complie Greeting.java工作。。。