我正在尝试在PlayFramework(播放框架2.2.1)中创建多子模块项目。
我应该如何在子模块中命名包?
FE我的结构如下:
我应该如何在文件中命名包(命名空间):
/modules/common/app/controllers/Aplication.java
应该是:
package controllers;
package controllers.common;
package common.app.controllers;
实际上我是这样的:
package controllers.common;
public class Index extends Controller {}
我在子模块中的模型类遇到同样的问题。Fe在文件中:/modules/common/app/models/User.java
应该是:
package models;
package models.common;
package common.app.models;
实际上我是这样的:
package models.common;
public class User {}
我得到的运行时错误:
[IllegalArgumentException: Unknown entity: models.Cart]
我找到了解决方案。
我如何命名软件包都没关系。播放框架的一项要求是,以以下名称开头包的名称:
package controllers.common;
)package models.common;
或just package models;
)运行时错误:
[IllegalArgumentException: Unknown entity: models.Cart]
是由Jpa /休眠配置引起的。问题在于,Jpa /
Hibernate在编译时会看到我的实体(通过@Entity标记),但在运行时却看不到。要解决此问题,我必须手动将所有模型类(实体)指向persistance.xml文件,如下所示:
/conf/META-INF/persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>DefaultDS</non-jta-data-source>
<class>models.AppMode</class>
<class>models.Customer</class>
<class>models.Complaint</class>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
在此处查看更多信息:如何使用jpa /
hibernate将模型实体持久化在playframework子模块中
问题内容: CodeIgniter是否支持命名空间? 问题答案: 命名空间受php支持,而不受框架支持(在您的情况下为codeigniter)。如果您使用命名空间,则php版本必须> = 5.3.0。Codeigniter不能使用命名空间,因为它是为支持php 4而编写的。
本文向大家介绍thinkPHP5.0框架命名空间详解,包括了thinkPHP5.0框架命名空间详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP5.0框架命名空间。分享给大家供大家参考,具体如下: 命名空间 ThinkPHP采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制。 如果不
构建MVC3解决方案进展顺利,但在浏览器中出现错误: 编译器错误消息:CS0234:命名空间“系统”中不存在类型或命名空间名称“Html”。网状物Mvc'(是否缺少部件引用?) 我已经用为解决方案安装了数据包,并为所有项目进行了设置。MVC3是否包含库System.网页。mvc.Ajax,等?为什么我得到了错误? 在References文件夹中,我有一个系统。网状物Mvc , 网状物配置 MSDN
上面的代码给了我以下错误: 错误CS0234:命名空间“System.Runtime.InteropServices”中不存在类型或命名空间名称“CustomMarshalers”(是否缺少程序集引用?)
问题内容: 有什么办法可以将Swift类型名称作为带有名称空间(或框架名称)的字符串? 例如,如果有一个名为的类,我想获取类似的字符串。 以下仅返回类名。 我还想获得框架名称作为名称空间。 问题答案: 用途: 从Xcode 7发行说明 : 默认情况下,现在可以打印类型名称和枚举大小写,并将其转换为String而不带限定符。或仍可用于获取完全限定的名称。
为什么using指令在包含在匿名命名空间中时表现得好像出现在全局范围?