我正在用一个需要JPA(javax.persistence.*
classes)的项目测试Java9。当我添加<code>模块信息时。java并声明我的模块,javax下的所有类。persistece
包变得不可用。
我搜索了很多,但找不到在Java9模块项目中使用JPA所需的模块。
更新 正如艾伦建议的那样,我跑了
$ jar --describe-module --file=javax.persistence-api-2.2.jar
No module descriptor found. Derived automatic module.
java.persistence@2.2 automatic
requires java.base mandated
contains javax.persistence
contains javax.persistence.criteria
contains javax.persistence.metamodel
contains javax.persistence.spi
但还是有了这个module-info.java
module my.module {
requires java.persistence;
}
我得到“module-info.java:[3,18] module not found: java.persistence”。
更新2这是我的项目结构:
.
├── pom.xml
└── src
├── main
│ ├── java
│ │ ├── my
│ │ │ └── module
│ │ │ └── MyBean.java
│ │ └── module-info.java
│ └── resources
└── test
├── java
└── resources
pom.xml
具有javax.persistence-api
依赖项。
测试回购:https://github.com/heruan/java9-jpa
尝试使用此 maven 依赖项:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.5.2.Final</version>
</dependency>
我认为JPA还没有作为一个模块发布,但是你应该可以把它作为一个自动模块来使用。你能使用< code>jar - file=
使用maven,您可以使用依赖项,例如
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
与 maven-compiler-plugin
一起更新,以配合此处详述的 jdk9。
与gradle的依赖性相似
compile group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'
它基于javaee/jpa-spec。这将有助于
requires java.persistence
作为一个自动模块,建议作为此处模块的名称。
除了细节之外,这是在 META-INF/MANIFEST 中定义的。MF as :
Manifest-Version: 1.0
Bundle-Description: Java(TM) Persistence 2.2 API jar
Automatic-Module-Name: java.persistence
...
注意Alan建议的确定模块名称的方法是精确的,但没有广告,我仍然喜欢使用某个包的类,然后让IntelliJ(2017.2.4)在我说“导入类”和“添加要求”时为我解决这个问题。;)
问题内容: 我想在我的网站上使用我的图像编辑工具。我还需要吗? 我不了解这种情况。如果我不需要它,那么我们什么时候可以同时使用nodejs和angularjs? 问题答案: 您不需要NodeJS即可创建客户端图像编辑工具。 AngularJS是一个由Google和社区维护的Web应用程序框架,可帮助创建单页应用程序,该应用程序由一个HTML页面组成,该页面包含客户端的CSS和JavaScript。
我是编程新手,我想在我的macbook中安装netbean,但我一直有这样的文本“JDK丢失,需要运行一些NetBeans模块请使用--jdkhome命令行选项指定JDK安装或查看http://wiki.netbeans.org/FaqRunningOnJre了解更多信息。”
我正在使用HIbernate core 3.6.2 final。我将注释类映射放在hibernate中。cfg。xml,例如 由于我使用3.6.2的Hibernate版本,所以我不需要创建注释配置类对象。因此,我将配置对象创建为私有静态最终SessionFactory SessionFactory; 但给我错误作为初始SessionFactory创建failed.org.hibernate.Map
问题内容: 在这个问题中,如何在C 11中有效地选择标准库容器?是选择C 集合时要使用的便捷流程图。 我认为对于那些不确定应该使用哪个集合的人来说,这是一个有用的资源,因此我试图找到类似的Java流程图,但未能做到。 哪些资源和“备忘单”可用来帮助人们选择使用Java进行编程时使用的正确Collection?人们如何知道应该使用哪些List,Set和Map实现? 问题答案: 由于找不到相似的流程图
在这个问题中,如何在C 11中有效地选择标准库容器?是选择C集合时使用的方便流程图。 我认为对于那些不确定应该使用哪个集合的人来说,这是一个有用的资源,所以我试图找到一个类似的Java流程图,但没能做到。 有哪些资源和“备忘单”可以帮助人们在用Java编程时选择正确的集合?人们如何知道他们应该使用什么列表、集合和映射实现?
问题内容: Java 8中有一整套日期类: ; ; ; ; ; 。 我已经忽略了他们的JavaDocs,并注意所有这些类都包含我需要的所有方法。因此,目前,我可以随机选择它们。但是我想为什么有6个单独的类并且每个类都专用于特定目的是有原因的。 技术信息和要求: 输入为,将转换为这些日期格式之一。 我不需要显示时区,但是当我比较两个日期时,能够正确比较纽约和巴黎的时间很重要。 精确的级别是秒,无需使