我正在处理的芭蕾舞演员项目的结构如下所示。
.
Ballerina.toml
LICENSE
README.md
ballerina-internal.log
ballerina.conf
contributions_from_outsiders_log
org
└── wso2
└── contributions_from_outsiders
├── ballerina-internal.log
├── const.bal
├── database_client.bal
├── gmail_client.bal
└── structs.bal
weekly_mail_notifier.bal我的Ballerina.toml文件的内容是:
[project]
org-name = "pasanwijesinghe"
version = "0.0.1"我试图在contributions_from_outsiders中使用weekly_mail_notifier.bal中的一个函数
import org.wso2.contributions_from_outsiders;
function main (string[] args) {
contributions_from_outsiders:generateMailBody();
}生成会出现以下错误
Compiling source
weekly_mail_notifier.bal
invalid organization name recieved: '$anon'. organization name should be lowercase and alphanumeric, underscore is can be used. should be less than 256 characters.
error: ./weekly_mail_notifier.bal:17:1: cannot resolve package 'org.wso2.contributions_from_outsiders'
pasanwijesinghe/org:0.0.1
error: ./weekly_mail_notifier.bal:24:5: undefined package 'contributions_from_outsiders'
error: ./weekly_mail_notifier.bal:24:5: undefined function 'generateMailBody'
ballerina: compilation contains errors发布于 2018-09-27 10:45:39
您在weekly_mail_notifier.bal中给出的包导入语句在这里是错误的。导入包语句应该具有<organization-name>/<package-name>格式。根据您的项目结构,组织名称是"pasanwijesinghe",它是从Ballerina.toml文件派生的,这里的包名应该是"org“。"org“是为项目源所在的第一个目录派生的。在芭蕾舞项目中,所有顶级目录都将被视为一个包。所以正确的导入语句应该是:
import pasanwijesinghe/org;
function main (string[] args) {
org:generateMailBody();
// rest of the program
}在这里,我假设项目中有一个函数generateMailBody,它在任何目录下的任何芭蕾舞源文件中都有定义。有关芭蕾舞套餐和结构的更多信息可以在这里找到:https://ballerina.io/learn/how-to-structure-ballerina-code/#packages
https://stackoverflow.com/questions/52533799
复制相似问题