IllegalModelException:未为类型org.acme.airline.aircraft.Aircraft

时间:2018-05-03 20:16:38

标签: hyperledger-fabric blockchain hyperledger

我正在关注Hyperledger结构的Udemy教程。 我想将模型文件(或命名空间)导入到另一个模型文件。但是我收到了一个错误。

IllegalModelException: Namespace is not defined for type org.acme.airline.aircraft.Aircraft

我想将 org.acme.airline.aircraft 导入 org.acme.airline.flight

这两个文件是: -

> 1. org.acme.airline.flight.cto
> 
>     namespace org.acme.airline.flight
>     
>     import org.acme.airline.aircraft.Aircraft
>     
>     asset Flight identified by flightNumber {
>       o String  flightNumber
>       o Route route
>       o String[] aliasFlightNumber
>       --> Aircraft aircraft optional
>     }
>     
>     concept Route {
>       o String origin
>       o String destination
>       o DateTime schedule
>     }
  1. org.acme.airline.aircraft
  2. namespace org.acme.airline.aircraft
    
      asset Aircraft identified by aircraftId {
      o String aircraftId
      o Ownership ownershiptType default="LEASED"
    
          o Integer firstClassSeats
          o Integer businessClassSeats
          o Integer economyClassSeats
          o String nickName optional
    
        }
    
        enum Ownership {
          o LEASED
          o OWNED
        }
    

    我尝试按照StackOverflow上一个与小问题相关的建议删除了permissions.acl文件,但错误仍然存​​在。

    在permission.acl中,我收到一条错误,

    IllegalModelException: Failed to find namespace test.*
    

1 个答案:

答案 0 :(得分:1)

点击此处查看其中一个解决方案here。 它表示:目前,要使用使用导入并跨越多个文件的模型,必须打开所有相关文件。要验证ACL文件和查询文件,还必须打开相应的模型文件。我打算通过允许打开一个文件夹来改进这个,但是根据你的说法,它听起来像按设计工作。