Ballerina 项目不会导入包并给出编译错误
Ballerina project won't import package and gives compile error
我正在从事的 Ballerina 项目结构如下。
.
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"
我正在尝试使用 weekly_mail_notifier.bal
中 contributions_from_outsiders
中的函数
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
您在 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
在任何目录下的任何 ballerina 源文件中定义。可以从这里找到有关 ballerina 包和结构的更多信息:https://ballerina.io/learn/how-to-structure-ballerina-code/#packages
我正在从事的 Ballerina 项目结构如下。
.
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"
我正在尝试使用 weekly_mail_notifier.bal
contributions_from_outsiders
中的函数
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
您在 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
在任何目录下的任何 ballerina 源文件中定义。可以从这里找到有关 ballerina 包和结构的更多信息:https://ballerina.io/learn/how-to-structure-ballerina-code/#packages