如何在安装了goclipse的eclipse中运行GO项目

时间:2014-12-15 05:24:14

标签: eclipse go goclipse

我已经在我的eclipse中安装了goclipse并创建了一个新的go项目。

现在这就是我所拥有的:

enter image description here

我有hello.go看起来像这样:

package main

import "fmt"

func main() {
     fmt.Println("Hello")
}

然后我按下运行按钮,或者右键单击文件hello.go,然后运行,它什么都没有。此外,它在bin文件夹中也是空的。

然后我按run configurations按钮,几乎为空,只有一个项目名称。它给出了:

Given Go package not found.

这是我的Go首选项: enter image description here

我注意到GOROOT和GOPATH都与explorer中列出的不同,但是一旦我将它们更改为C:\ Go \ src \ pkg或C:\ Go \ src,“应用”和“确定”按钮将被禁用。此外,我也没有C:\ Go \ src \ pkg文件夹。

我可以在命令行中go installgo build,但我想将eclipse用于另一个更大的项目。这是Windows 7,而eclipse版本是Luna Service Release 1(4.4.1)。谢谢。

编辑:现在我有以下配置,它工作正常: Go安装在c:\ Go 在首选项中:GOROOT:C:\ Go,GOPATH:C:\ Users \ Tiina \ go_workspace “首选项”中的其余部分将自动填写。 helloTest项目位于C:\ Users \ Tiina \ go_workspace \ src \ helloTest hello.go位于C:\ Users \ Tiina \ go_workspace \ src \ helloTest \ hello.go 也许是因为我从现有代码创建了一个项目,并且还有一些东西,它会自动添加另一个GOPATH,在Preferences中删除它。

3 个答案:

答案 0 :(得分:13)

如果GOROOT指的是安装了go的地方(C:\Go),那么您需要确保:

  • GOPATHGOROOT不同(重要的是,因为GOROOT/[src|pkg|bin]是Go语言本身的文件夹,而不是您自己的来源)
  • GOPPATH指向您所有不同的Go项目所在的文件夹(例如C:\Users\yourName\Go:定义 workspace
  • 您的eclipse项目是在GOPATH\src\myproject
  • 中创建的

请参阅“How to Write Go Code”以确保您的安装和项目来源符合预期的组织。


OP Tiina报告in the comments

  

现在它有效,但我发现有两件事情很奇怪。

     
      
  • 首先我做了什么:我将helloTest文件夹移到C:\Users\Tiina\go_workspace\src,现在它在C:\Users\Tiina\go_workspace\src\helloTest
  •   
  • 然后我从现有代码创建项目。没有其他改变。现在我在资源管理器中有两个GOPATH,一个是C:\Users\Tiina\go_workspace\src,另一个是C:\Users\Tiina\go_workspace\helloTest\src。   后者在开始时并不存在
  •   

我怀疑goclipse为每个项目定义了一个GOPATH(或完成现有的GOPATH)。 如果您创建或导入项目,它将在GOPATH中定义/完成<that project/src> 如果你hello.go在<that project/src/>文件夹中,那么它应该按照预期构建和工作。

user guide "project structure" of goclipse提及:

  

项目位置不属于任何GOPATH条目   在这种情况下,项目位置将隐式添加为GOPATH的条目,并将使用包含binpkgsrc目录的Go工作区结构在项目中。

     

请注意,项目的隐式GOPATH条目仅适用于该项目中的源模块。它将不会被其他Goclipse项目看到(除非该条目明确添加到全局GOPATH)。

     

src文件夹中,您可以创建将要编译到库包中的Go源文件(并放入pkg),或者放入可执行文件(放在bin中)

答案 1 :(得分:0)

这是一个人需要做的事情。必须始终遵循GO的目录结构惯例。在eclipse中,一旦创建了一个新项目,只需创建一个&#34;新文件夹&#34;右键单击src文件夹,在src目录下。现在在此文件夹下创建一个新的GO文件。我在MAC上运行此问题但是通过以上步骤可以解决问题。

  • Vishal(www.vishalpandya.com)

答案 2 :(得分:0)

请注意以下事实:如果在Eclise / GoClipse中工作时更改了GOPATH,则必须退出/重新启动Eclipse,以使Eclipse可以重新读取新的环境变量。