Подтвердить что ты не робот

Как запустить проект GO в eclipse с установленным goclipse

Я установил 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 отличаются от тех, которые перечислены в проводнике, но как только я изменил их на C:\Go\src\pkg или C:\Go\src, кнопка Apply и OK перестает работать. Кроме того, у меня нет папки C:\Go\src\pkg.

Я могу go install или go build в командной строке, но я хотел бы использовать eclipse для другого гораздо более крупного проекта. Это окна 7, а версия затмения - Luna Service Release 1 (4.4.1). Спасибо.

EDIT: теперь у меня есть следующие конфигурации, и он отлично работает: 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 удаляет его.

4b9b3361

Ответ 1

Если GOROOT относится к месту установки go (C:\Go), вам необходимо убедиться, что:

  • GOPATH отличается от GOROOT (важно, потому что GOROOT/[src|pkg|bin] - это папки для самого языка Go, а не для ваших собственных источников).
  • GOPPATH указывает на папку, в которой будет находиться все ваш другой проект Go (например C:\Users\yourName\Go: определяет workspace)
  • ваш проект eclipse создается в GOPATH\src\myproject

См. "" Как написать код перехода", чтобы убедиться, что ваши источники установки и проекта уважают ожидаемую организацию.


OP Tiina сообщает в комментариях:

Теперь это работает, но я заметил две вещи странные.

  • Сначала я сделал: я перемещаю папку 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/>, тогда он должен строить и работать как ожидалось.

руководство пользователя "структура проекта" goclipse упоминает:

Местоположение проекта не является частью любой записи GOPATH.
В этом случае местоположение проекта будет неявно добавляться как запись в GOPATH, и в проекте будет использоваться структура рабочего пространства Go с каталогами bin, pkg и src.

Обратите внимание, что проект неявной записи GOPATH применим только к исходным модулям в этом проекте. Он не будет отображаться для других проектов Goclipse (если запись явно не добавлена ​​к глобальному GOPATH).

В папке src вы можете создавать исходные файлы Go, которые будут скомпилированы в пакет библиотеки (и помещены в pkg) или в исполняемый файл (и помещены в bin)

Ответ 2

Вот что нужно делать. Всегда нужно следовать стандарту GO структуры каталогов. В eclipse, как только новый проект создается, просто создайте "новую папку" в каталоге src, щелкнув правой кнопкой мыши папку src. А теперь под этой папкой создайте новый файл GO. У меня были проблемы с запуском этого на моем MAC, но, выполнив описанные выше шаги, удалось решить.

  • Vishal (www.vishalpandya.com)