2014-12-15 15 views
12

Ho installato goclipse in my eclipse e creato un nuovo progetto go.Come eseguire un progetto GO in eclipse con goclipse installato

Ora, questo è quello che ho:

enter image description here

E devo hello.go assomiglia a questo:

package main 

import "fmt" 

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

pulsante Poi premere RUN, oppure fare clic destro sul file ciao. vai, e poi corri, non dà niente. Inoltre, è anche vuoto nella cartella bin.

Quindi premo il pulsante run configurations, quasi vuoto lì con solo un nome di progetto. dà:

Given Go package not found. 

Questo è il mio Preferenze per Go: enter image description here

ho notato che sia GOROOT e GOPATH sono diversi da quelli elencati in Esplora risorse, ma una volta che li ho cambiato in C: \ Go \ src \ pkg o C: \ Go \ src, il pulsante Applica e OK diventa disabilitato. Inoltre, non ho nemmeno la cartella C: \ Go \ src \ pkg.

Posso go install o go build nella riga di comando, ma mi piacerebbe utilizzare eclipse per un altro progetto molto più grande. È Windows 7 e la versione di Eclipse è Luna Service Release 1 (4.4.1). Grazie.

EDIT: Ora ho le seguenti configurazioni, e funziona bene: Go è installato in C: \ Go in Preferenze: GOROOT: C: \ Go, GOPATH: C: \ Users \ Tiina \ go_workspace Il il resto in Preferenze è compilato automaticamente. helloTest progetto si trova in C: \ Users \ Tiina \ go_workspace \ src \ helloTest hello.go si trova in C: \ Users \ Tiina \ go_workspace \ src \ helloTest \ hello.go Forse perché creo un progetto da esistente codice, e c'era qualcosa lasciato, aggiunge automaticamente un altro GOPATH, in Preferenze cancellarlo.

+0

Is hello.go entro il c: \ Go \ src? Dove è installato Go stesso? – VonC

+0

@VonC Hi, Go è installato proprio sotto C: \ con un percorso C: \ Go, e hello.go viene creato in Explorer aggiungendo nuovi file, cioè, fare clic con il tasto destro sul nome del progetto e quindi aggiungere-> file. Quindi ora credo che hello.go sia nella root del progetto (C: \ Users \ Tiina \ go_workspace \ helloTest). Ho anche provato con hello.go in c: \ Go \ src o/helloTest/src – Tiina

+1

'GOPATH' non dovrebbe puntare a un diretory all'interno di una cartella Go. – topskip

risposta

10

Se GOROOT si riferisce al punto in cui è installato Go (C:\Go), allora avete bisogno di fare in modo che:

  • GOPATH differisce da GOROOT (è importante, perché GOROOT/[src|pkg|bin] sono le cartelle per il linguaggio Go sé, non per le proprie fonti)
  • GOPPATH punta a una cartella in base al quale tutto il progetto Go diversa risiederà (per esempio C:\Users\yourName\Go: che definisce un workspace)
  • 01.235.164,106174 millions
  • il progetto Eclipse è creato in GOPATH\src\myproject

Vedere "How to Write Go Code" per fare in modo che le vostre fonti di installazione e di progetto rispettano l'organizzazione previsto.


Le OP Tiina rapporti in the comments:

Ora funziona, ma ho notato due cose strane.

  • prima quello che ho fatto: mi muovo cartella helloTest in C:\Users\Tiina\go_workspace\src, così ora è a C:\Users\Tiina\go_workspace\src\helloTest.
  • Quindi creo il progetto dal codice esistente. Nient'altro è cambiato. Ora ho due GOPATH in explorer, uno è C:\Users\Tiina\go_workspace\src, l'altro è C:\Users\Tiina\go_workspace\helloTest\src.
    Quest'ultimo non ha fatto esistere all'inizio

Ho il sospetto che quello che fa è goclipse definire una GOPATH per progetto (o completare il già esistente GOPATH).
Se si crea o importa un progetto, definirà/completerà GOPATH in <that project/src>
Se hello.go si trova all'interno di tale cartella <that project/src/>, allora dovrebbe creare e funzionare come previsto.

Il user guide "project structure" of goclipse cita:

La posizione progetto non fa parte di una voce GOPATH.
In questo caso verrà implicitamente aggiunta la posizione del progetto come voce allo GOPATH e verrà utilizzata una struttura di area di lavoro Go con le directory bin, pkg e src nel progetto.

Si noti che la voce implicita del progetto GOPATH si applica solo ai moduli di origine in quel progetto. Non sarà visibile ad altri progetti Goclipse (a meno che la voce non venga aggiunta esplicitamente al numero GOPATH globale).

Nella cartella src è possibile creare file di origine Go che saranno raccolte in un pacchetto di libreria (e collocato in pkg), o in un file eseguibile (e messi in bin)

+0

Ora, preferibilmente, ho GOROOT: C \ Go, GOPATH: C: \ Users \ Tiina \ go_workspace, che è anche lo spazio di lavoro per eclissi. Nel progetto helloTest in explorer, ho GOROOT - C: \ Go \ src \ pkg e GOPATH - C: \ Users \ Tiina \ go_workspace \ src. Aggiunge automaticamente \ src \ pkg e \ src, rispettivamente. In effetti, non ho nessuna di queste due cartelle. Quando lo eseguo, ancora "Pacchetto dati di go non trovato". – Tiina

+0

@Tiina Consiglio vivamente di tenere separati i tuoi progetti dallo spazio di lavoro di Eclipse. Ma dovrebbe funzionare comunque. Qual è l'esatto percorso completo del tuo 'ciao.go' in quella nuova configurazione? – VonC

+0

Vai a se stesso - c: \ Go; helloTest project: C: \ Users \ Tiina \ go_workspace \ helloTest; ciao.go: C: \ Users \ Tiina \ go_workspace \ helloTest \ hello.go; GOROOT in explorer: C: \ Go \ src \ pkg; GOPATH in explorer: C: \ Users \ Tiina \ go_workspace \ src; GOROOT nelle preferenze: c: \ Go; GOPATH nelle preferenze: C: \ Users \ cmcc \ java_go_workspace; C: \ Users \ Tiina \ go_workspace \ helloTest – Tiina

0

Ecco cosa uno ha bisogno di fare. Si deve sempre seguire la convenzione di GO sulla struttura delle directory. In eclipse, una volta creato un nuovo progetto, basta creare una "nuova cartella" sotto la directory src facendo clic destro sulla cartella src. E ora sotto questa cartella crea un nuovo file GO. Ho avuto problemi durante l'esecuzione sul mio MAC, ma seguendo i passaggi precedenti è stato in grado di risolvere.

  • Vishal (www.vishalpandya.com)
Problemi correlati