当前位置: 首页 > 面试题库 >

访问go模块中的本地包(go 1.11)

牧璞
2023-03-14
问题内容

我正在试用Go的新模块系统,无法访问本地软件包。以下项目位于我的gopath外的桌面上的文件夹中。

我的项目结构如下:

/
  - /platform
      - platform.go
  - main.go
  - go.mod
// platform.go
package platform

import "fmt"

func Print() {
    fmt.Println("Hi")
}
// main.go
package main

import "platform"

func main() {
    platform.Print()
}

go build main.go 告诉我

cannot find module for path platform

问题答案:

我强烈建议您使用go工具链,它可以解决这些问题。带vscode-go插件的Visual Studio Code非常有用。

这里的问题是Go需要相对于您$GOPATH/srcmoduleimport语句的相对路径。根据您所在的位置GOPATH,导入路径也应包括该位置。在这种情况下,import语句必须在其中包含go模块路径go.mod

GOPATH

假设您的项目位于此处:

$GOPATH/src/github.com/myuser/myproject

您的导入路径应为:

import "github.com/myuser/myproject/platform"

VGO

假设您的go.mod文件为:

module example.com/myuser/myproject

您的导入路径应为:

import "example.com/myuser/myproject/platform"


 类似资料:
  • 问题内容: 当在之外使用Go模块(go版本> = 1.11)时,找不到在本地包中分解出某些代码的方法。 我没有导入任何需要包含在内的外部依赖项,我只是想在本地组织此Go模块的源代码。 文件: 该文件(假装为本地软件包): 文件(命令): 执行时: 如果是我,那么我明白了。 如果是我,那么我明白了。 如果我使用软件包别名,那么我会再次看到:。 我找不到使本地软件包与go模块一起使用的方法。 上面的代

  • 问题内容: 我创建了一个本地EJB,我想从同一VM中的Web模块访问它。我的代码如下所示: 这很好。但是,有人告诉我,如果我正在使用本地bean,则不需要进行查找,我只需要进行如下注入: 但是,如果我尝试这样做,则会在this.userBean上得到一个空异常。建议我的人与JBoss合作,而我正在使用glassfish。难道我做错了什么? 问题答案: @EJB注释仅适用于应用程序服务器控制的类,例

  • 尝试在JMX控制台中注册MBean时,我收到以下错误消息: 我正在使用Eclipse,我的项目结构中没有文件。 当我注释我对javaeeapi的依赖关系时,错误消失了,但是包不是JAR的一部分。

  • 我们正在使用Zulu JDK 11,我们面临的问题 下面是示例项目的git url和屏幕截图供您参考。 https://github.com/kkvaranasi88/test1.git

  • 我的环境: Java 11 不确定如何修复此错误:

  • 我的项目在Java1.8u151中运行良好。我正在尝试将它升级到Java12,但是我得到了以下错误。 这是唯一的错误,在Java12中的大多数包中都会重复出现,但在Java8中效果良好。 我已尝试将所有jar文件从模块路径移动到类路径。模块路径中只有Java 12库。我在Java版本的软件包中寻找任何不推荐的东西。我用不同的Java版本尝试了3种不同的系统(都运行OS-X10.13.6、10.13