获取MissingContractAttachments异常:
java.util.concurrent.ExecutionException:net.corda.core.transactions.MissingContractAttachments:找不到[net.corda.finance.contracts.asset.Cash]的合同附件
将NodeDriver的软件包设置为:
...
withExtraCordappPackagesToScan(
Arrays.asList.of("com.cordatemplate.cordapp, net.corda.finance,
net.corda.finance.contracts.asset")
)
...
但是错误仍然存在。还尝试过:
...
.withExtraCordappPackagesToScan(
Arrays.asList("com.cordatemplate.cordapp,
net.corda.finance, net.corda.finance.contracts.asset,
net.corda.finance.schemas, net.corda.finance.contracts.asset.Cash,
net.corda.finance.contracts.asset.Cash.Commands.Issue")
)
...
答案 0 :(得分:1)
每个包都需要作为一个单独的字符串而不是字符串列表传递。
所以代替:
withExtraCordappPackagesToScan(
Arrays.asList.of("com.cordatemplate.cordapp, net.corda.finance,
net.corda.finance.contracts.asset")
)
您会写:
withExtraCordappPackagesToScan(
Arrays.asList.of(
"com.cordatemplate.cordapp",
"net.corda.finance",
"net.corda.finance.contracts.asset")
)
答案 1 :(得分:0)
根据corda documentation,Xcode
错误的两个主要来源是由于未在测试中设置Cordapp软件包或具有错误的完全合格的合同名称。
由于您似乎已经尝试包含软件包,因此您可能使用了错误的标准合同名称。
从文档中
例如,您在com.mycompany.myapp.contracts包中定义了MyContract,但是传递给TransactionBuilder的标准合同名称是com.mycompany.myapp.MyContract(而不是com.mycompany.myapp .contracts.MyContract)。